2009-11-08 66 views
0

我明白,这可能是不可能的,但我肯定想知道是否有人已经做到了这一点,或有一个变通。添加SWT窗口小部件,摆动的JPanel

我有一个SWT按钮和我想只用按钮存在覆盖现有的JPanel的内容。我目前的策略是有SWT按钮作为初始的空场,然后将它通过一种方法,这将刷新的JPanel用SWT按钮。

Button ibutton = null; 

以下是从我的构造函数取(类extends JPanel):

ibutton.addListener(SWT.Selection, new Listener() { 
public void handleEvent(Event e) { 
switch (e.type) { 
case SWT.Selection: 
} 
} 


    }); 

add(ibutton); //add is the usual swing assignment function 
          // and thus does not work. 

如果有另一种方式来达致这,我会感激之余听听你有什么。

+0

因为我已经发现了这个类,它可以帮助可能导致我: http://mobius.inria.fr/eclipse-doc/org/eclipse/swt/awt/SWT_AWT.html 我仍然相当不确定但是如何实施它。 我希望得到一些指导。 – 2009-11-09 20:29:00

回答

3

你必须做这样的事情:

Canvas canv = new Canvas(); 
add(canv);//add to ur parent container 
Shell shell = SWT_AWT.new_Shell(display, canv); 
shell.add(ibutton); 

有以下几点要注意的,因为你似乎是新来的SWT_AWT桥:

  1. 应该已经显示父(应该创建对等体)到上面的代码被调用时。
  2. 并行线程应该读取和分派从显示的事件。
+2

请你能否详细说明1和2,因为我有这个例外? – MrD 2013-01-24 22:48:45