2

私の Eclipse RAP アプリケーションでは、他のコンポーネントがダイアログ ボックス (またはフォアグラウンドの他の要素) を開くたびに、コンポーネントの外観を変更する必要があります。これが発生したときにコンポーネントを検出するにはどうすればよいですか? Display.addListener/addFilter を使用してみましたが、JFace ダイアログが開いたときにイベントを取得しません。

[余談ですが、このコンポーネントには Java アプレットが含まれており、Java アプレットは z オーダーに従わないため、アプレットはフォアグラウンド ダイアログ ボックスの上に表示されます。]

4

1 に答える 1

2

イベントの表示フィルターを追加するSWT.Activateと、JFace ダイアログを含む、アクティブになるすべてのシェルについて通知を受ける必要があります。これは RAP 2.0 M3 で動作しますが、以前のバージョンでも動作するはずです。

display.addFilter( SWT.Activate, new Listener() {
  public void handleEvent( Event event ) {
    System.out.println( display.getActiveShell() );
  }
} );
于 2012-12-12T09:05:53.230 に答える