1

我正在尝试通过单击现有按钮在 RPC 视图上添加新的小部件。我正在使用的代码如下:

public void createPartControl(final Composite parent) {

    parent.setLayout(new RowLayout(SWT.HORIZONTAL));

    Button btnNewButton = new Button(parent, SWT.NONE);
    btnNewButton.setText("New Button");

    btnNewButton.addMouseListener(new MouseAdapter() {
        @Override
        public void mouseDown(MouseEvent e) {
                    Button b=new Button(parent,SWT.BUTTON1);
                    b.setText("asdasd");
        }
    });

}

按钮被添加到视图中,但不可见。如果我调整视图大小,它们就会变得可见。为什么会发生这种情况,如何解决?我需要以某种方式刷新视图或调用调整大小操作调用的事件。

附加的代码在标准 java 应用程序中没有问题。

谢谢你,尼克

4

1 回答 1

0

Composite添加小部件时调用父级的布局方法:

btnNewButton.addMouseListener(new MouseAdapter() {
    @Override
    public void mouseDown(MouseEvent e) {
                Button b=new Button(parent,SWT.BUTTON1);
                b.setText("asdasd");
                parent.layout();
    }
});
于 2012-08-02T12:45:05.883 回答