0

我有一个奇怪的问题MessageDialog。我有一个包含TableViewer. 我的计划是,当用户在 中选择某些内容时TableViewer,它会弹出一个警告对话框。代码如下:

contextTableViewer = new TableViewer(tableContainer, SWT.BORDER | SWT.FULL_SELECTION);
contextTableViewer.addSelectionChangedListener(new ISelectionChangedListener() {
  public void selectionChanged(SelectionChangedEvent event) {
    ...
    if () {
       Shell pshell = Display.getCurrent().getActiveShell();
        MessageDialog.openWarning(pshell, "something", "something");
    }
    ...
  }

我的问题是,在弹出警告对话框后,我失去了焦点。例如,我需要单击“取消”按钮两次以关闭包含TableViewer. 我试图用它setFocus()来重新设置焦点,但它没有用。有小费吗?非常感谢。

4

1 回答 1

0

我不知道为什么会发生这种情况,我通过模拟鼠标单击对话框以重新获得焦点来解决问题。

于 2014-08-29T17:24:13.857 回答