Java 向EclipseRCP插件添加Swing组件
我在SWT中嵌入Swing组件时遇到问题(例如eclipse插件..) 目前我拥有:Java 向EclipseRCP插件添加Swing组件,java,swing,eclipse-plugin,swt,Java,Swing,Eclipse Plugin,Swt,我在SWT中嵌入Swing组件时遇到问题(例如eclipse插件..) 目前我拥有: public void createPartControl(Composite parent) { java.awt.Frame f = SWT_AWT.new_Frame(parent); JPanel panel = new JPanel(new BorderLayout()); JButton button = new JButton("Swing button"); JLabel la
public void createPartControl(Composite parent) {
java.awt.Frame f = SWT_AWT.new_Frame(parent);
JPanel panel = new JPanel(new BorderLayout());
JButton button = new JButton("Swing button");
JLabel label = new JLabel("Swing label");
panel.add(label,BorderLayout.NORTH);
panel.add(button,BorderLayout.CENTER);
f.add(panel);
}
此代码段加载失败,插件在第一行崩溃
你知道如何整合这些组件吗
谢谢
至少,在SWT组合中嵌入AWT框架只需两行简单的代码
Composite composite = new Composite(parent, SWT.EMBEDDED | SWT.NO_BACKGROUND);
Frame frame = SWT_AWT.new_Frame(composite);
由于您的代码在第一行失败,请首先确保使用
SWT.EMBEDDED
创建父级Composite
。如果不是,则使用SWT.EMBEDDED
创建子组合,然后调用
java.awt.Frame f = SWT_AWT.new_Frame(newChildComposite);
实例
创建org.eclipse.swt.Composite
使用SWT.EMBEDDED样式。这
样式表示AWT帧将被删除
嵌入复合材料中。这个
调用静态new_Frame方法
创建并返回这样的帧。这个
然后可以用AWT填充帧
和/或回转组件
取自