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");
    }
    ...
  }

私の問題は、警告ダイアログがポップアップした後、フォーカスを失うことです。たとえば、「キャンセル」ボタンを 2 回クリックして、TableViewer. フォーカスを戻すために使用しようとしましsetFocus()たが、うまくいきませんでした。任意のヒント?どうもありがとう。

4

1 に答える 1

0

なぜそれが起こるのかわかりません。ダイアログをマウスでクリックしてフォーカスを戻すことをモックすることで問題を解決します。

于 2014-08-29T17:24:13.857 に答える