【问题标题】:Cannot add ui widget to Eclipse RCP view on mousedown event无法在 mousedown 事件上将 ui 小部件添加到 Eclipse RCP 视图
【发布时间】:2012-07-31 09:19:08
【问题描述】:

我正在尝试通过单击现有按钮在 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 应用程序中没有问题。

谢谢你, 尼克

【问题讨论】:

    标签: eclipse view widget add rcp


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2011-04-05
      • 2011-11-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-08
      • 2015-11-18
      • 1970-01-01
      相关资源
      最近更新 更多