将按钮添加到RCP应用程序

时间:2013-06-14 07:43:54

标签: java eclipse swt awt rcp

我想向RCP客户端添加一个按钮。窗口需要显示我的barChart以及3个按钮。

当我添加该行时:                     panel.add(按钮); 它返回一个错误:                     类型Container中的方法add(Component)不适用于参数(Button)

请帮助:)

@Override
    protected void createWindows(final Shell shell) throws Exception {
        shell.setLayout(new FillLayout());
        final Composite composite = new Composite(shell, SWT.EMBEDDED);

        final Frame frame = SWT_AWT.new_Frame(composite); 
        final StaticBarSketch barGraph = new StaticBarSketch();
        final Button button = new Button(composite, SWT.PUSH);
        button.setText("Press");

        Panel panel = new Panel();
        panel.add(barGraph);
        frame.add(panel);
        barGraph.init();

        composite.addListener(SWT.Resize, new Listener() {
            @Override
            public void handleEvent(Event event) {
                barGraph.resized(composite.getSize().x, composite.getSize().y);
            }
        });

1 个答案:

答案 0 :(得分:0)

使用Panel而不是使用CompositePanel来自Swing,您正在将Swing与RCP / SWT混合,这是不明智的。

您使用的Button来自SWT,并且您要将其添加到Panel这是Swing组件,并且您只能Swing组件Panel 1}}。您可以将Button更改为AWT&#39} ButtonSwing s JButton。否则,如前所述,请将Panel更改为Composite