comboViewer.getSelection()在eclipse rcp中返回null

时间:2012-10-10 10:33:22

标签: eclipse-rcp

我在ComboViewer框中创建了一个名为comboViewer的{​​{1}}。 查看器由TitleAreaDialog中定义的各种类别填充。

但是在以下行引发了NullPointerException:

TreeViewer

为什么会这样,修复是什么?

1 个答案:

答案 0 :(得分:0)

您可以使用此“模式”解决此问题,即在设置对话框时:

  final ISelection selection = new ISelection[1];

  Dialog diag = new Dialog(shell) {
    // createDialogArea()
    // remember your comboViewer as field


    @Override
    protected void okPressed() {
      selection[0] = comboViewer.getSelection();
      super.okPressed();
    }
  };

(根据您的情况使用TitleAreaDialog而不是Dialog。)

即。覆盖对话框的okPressed方法。如果用户进行了选择,则按OK,选择[0]将包含选择。