Opengl JOGL画布覆盖其他SWT小部件

Opengl JOGL画布覆盖其他SWT小部件,opengl,swt,jogl,Opengl,Swt,Jogl,我是慢跑和SWT的爱好者。我在尝试使用AbsoluteLayout在GLCanvas上显示一些SWT小部件时遇到问题 composite = new Composite(parent, SWT.NONE); composite.setLayout(null); Button button = new Button(composite, SWT.NONE); button.setText("New Button"); button.setBounds(172, 145, 94, 28); glca

我是慢跑和SWT的爱好者。我在尝试使用AbsoluteLayout在GLCanvas上显示一些SWT小部件时遇到问题

composite = new Composite(parent, SWT.NONE);
composite.setLayout(null);
Button button = new Button(composite, SWT.NONE);
button.setText("New Button");
button.setBounds(172, 145, 94, 28);
glcanvas = GLCanvas.create(composite, SWT.NO_BACKGROUND, null, null, null);
我认为按钮应该在GLCanvas的顶部,但它总是在GLCanvas的后面。我做错什么了吗?请帮助我,非常感谢。

您尝试过:

composite = new Composite(parent, SWT.NONE);
composite.setLayout(null);
glcanvas = GLCanvas.create(composite, SWT.NO_BACKGROUND, null, null, null);
Button button = new Button(composite, SWT.NONE);
button.setText("New Button");
button.setBounds(172, 145, 94, 28);
正在移动glcanvas=glcanvas。。。在创建按钮之前向上至


除非我遗漏了什么,否则您将添加按钮,然后在其上添加画布。

目前,没有解决此问题的方法。关于更多细节,这个问题只发生在MacOS上,我已经在Windows8x64下测试过了,没有问题。这是官方论坛讨论的链接

我按照您的建议更改了订单,但GLCanvas仍然覆盖了按钮!我不知道为什么,我正试图深入研究JoglCanvas的源代码。是关于将AWT组件放置在GLCanvas顶部的讨论。你在运行什么操作系统?我正在MacOS 10.8.4下开发。我已经读过这个主题,但我不想把组件放在画布上。我只是尝试将GLCanvas添加到AbsoluteLayout中,但没有成功:如果您试图将SWT组件与GLCanvas并排放置,那应该不会有问题。在本例中,看起来您设置了按钮的绝对位置,但没有设置画布的绝对位置。我假设画布占据了整个空间,由于OSX上的错误,按钮没有呈现在画布上。尝试设置画布的位置和尺寸。有关AWT/SWING+JOGL的更多信息,请查看我的旧游戏工具包。您还可以检查它用于的实际游戏。