我想在使用SWT的代码中添加一个Swing组件(JTree)。
有没有办法可以实现这个目标?
我知道在SWT/Jface中有TreeViewer组件,但是我已经有了一个已经开发好的Jtree实现,并希望添加它,而不是重新编写使用TreeViewer。
我想在使用SWT的代码中添加一个Swing组件(JTree)。
有没有办法可以实现这个目标?
我知道在SWT/Jface中有TreeViewer组件,但是我已经有了一个已经开发好的Jtree实现,并希望添加它,而不是重新编写使用TreeViewer。
Composite composite = new Composite(parent, SWT.EMBEDDED | SWT.NO_BACKGROUND);
Frame frame = SWT_AWT.new_Frame(composite);
SWT_AWT.newFrame(Compisite)
方法将返回一个 java.awt.Frame
。由于 Frame
是一个 Container
,因此您可以添加任何 Component
,包括 Swing 组件。
可能会有所帮助的是http://wiki.eclipse.org/Albireo_Project:
“Albireo项目基于SWT_AWT桥梁,提供更完整的Swing/SWT集成,从而获得更好的“开箱即用”体验和更可信的Swing/SWT集成概念。”
扩展SwingControl
并实现createSwingComponent()
和getLayoutAncestor()
。http://eclipsesrc.appspot.com/jsrcs/org.eclipse.albireo/org.eclipse.albireo.core/src/org/eclipse/albireo/core/SwingControl.java.html