将SWT小部件添加到swing JPanel

时间:2009-11-08 20:58:35

标签: java jpanel swt button swing

我知道这个可能是不可能的,但我肯定想知道是否有人已经完成了这项工作,或者有一个解决方法。

我有一个SWT按钮,我想只用Button存在就覆盖现有的JPanel内容。我当前的策略是将SWT Button作为初始空字段,然后通过一个方法设置它,该方法将使用SWT按钮刷新JPanel。

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.

如果还有其他方法可以实现这一点,我会非常感激你能听到的。

1 个答案:

答案 0 :(得分: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. 并行线程应该是从显示器读取和分派事件。