我对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()
来设置焦点,但没有成功。有什么建议吗?非常感谢。
我不知道为什么会发生这种情况,我通过模仿鼠标点击对话框来恢复焦点来解决问题。