0

私はポップアウトエラーウィンドウをやっています。と、いろいろ試してみましたがだめでした。私がやりたいことは、元のウィンドウを維持しながら、ポップアウトしたエラーウィンドウを閉じることです。

私のコードで:

final Display display = Display.getDefault();
final Shell shell = new Shell(display, SWT.CLOSE | SWT.TITLE | SWT.MIN|SWT.RESIZE);
shell.addFocusListener(new FocusAdapter() {
@Override
public void focusGained(FocusEvent e) {
}
});
shell.setSize(304, 195);
shell.setText("Error Occur")

今、私はボタンにバインドされているこのコードでこのウィンドウを閉じようとしています:

    Button OKbutton = new Button(shell, SWT.NONE);
    OKbutton.addMouseListener(new MouseAdapter() {
        @Override
        public void mouseDown(MouseEvent e) {
            shell.isDisposed();
        }
    });
    OKbutton.setBounds(125, 123, 75, 25);
    OKbutton.setText("OK");

私も試してみました、shell.close(); しかし、うまくいきませんでした。しかし、display.close();を試したとき。元のウィンドウとエラー ウィンドウの両方を閉じます。

4

1 に答える 1

0

実際にポップアップダイアログを開くコードの部分を提供していないため、問題が何であるかを推測することしかできません。

両方のウィンドウが閉じるという事実は、両方に同じものを使用することを示唆していますShell。したがって、一方を閉じると、もう一方も閉じます。

簡単な解決策はnew Shell()、元の をいじらずに閉じることができるポップアップ ウィンドウ用のを作成することですShell


ただし、SWT と JFace の両方がポップアップ ダイアログのクラスを提供します。これらを使用すると、作業が楽になり、アプリケーションの外観と動作がよりネイティブになります。

SWT ダイアログと JFace ダイアログの両方に関する優れたチュートリアルがここにあります。このチュートリアルでは、一連の事前定義されたダイアログ (エラー メッセージ、ファイル チューザーなど) の使用方法と、独自のダイアログの作成方法を示します。

于 2013-03-28T21:19:03.103 に答える