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 に答える