SWT中嵌入Swing

SWT中嵌入Swing

转自:http://blog.sina.com.cn/s/blog_4d0d8bf6010008pz.html

1.为何要在SWT中嵌入Swing?

    对于像窗口,菜单这样的图形界面元素来说,Swing能提供的,JFace也能提供。

    但对图形操作,如Java2D,Java3D,Batik(www.apache.org)中的SVG处理,JAI中的位图操作等高级功能在SWT或JFace中没有提供。SWT不能使用诸如混叠消除、透明绘制、文本旋转等高级操作。

2.Eclipse 中,SWT EMBEDED常量使嵌入成为可能。

    Composite awtContainer=new Composite(parent,SWT.EMBEDED);
    java.awt.Frame myframe=SWT_AWT.new_Frame(awtContainer);

现在就可以随心所欲地向Frame对象中添加AWT或Swing对象了。

3.混合环境中的事务处理

    用常规方法向AWT或Swing控件中添加监听器,对AWT事件作出响应。

    但监听器访问SWT资源时必须小心,因为SWT和AWT在不同的线程中运行,这种访问应封装在一个Runnable对象之中,通过合适的Display方法执行,如syncExec(),asynExec()或timeExec(). 

你可能感兴趣的:(apache,eclipse,html,swing,Blog)