2013-07-04 39 views
1

我是一個JOGL和SWT amatuer。嘗試使用AbsoluteLayout在GLCanvas上顯示一些SWT Widget時遇到問題。JOGL帆布覆蓋其他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之後。難道我做錯了什麼 ?請幫助我,非常感謝你。

回答

0

你試過:

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中...向上創建按鈕之前)

除非我失去了一些東西,你要添加的按鈕,然後帆布在它上面。

+0

我改變了你所建議的順序,但GLCanvas仍然覆蓋按鈕!我不知道爲什麼,我試圖挖掘JOGL GLCanvas的源代碼。 – TuanAnh207

+0

[Here](http://forum.jogamp.org/Can-I-put-awt-components-over-part-of-a-GLCanvas-td827759.html)是關於將AWT組件置於GLCanvas中。你在運行什麼操作系統? – JBarberU

+0

我正在開發MacOS(10.8.4)。我已經閱讀過這個話題,但我不想在GLCanvas上放置一個組件。我只是嘗試將GLCanvas添加到AbsoluteLayout中,但它不起作用:( – TuanAnh207