2

Javaアプリケーションのすべてのコンポーネントのフォーカスを追跡したいと思います。ほとんどのコンポーネントで機能するメソッドを登録しましたが、タブの変更では機能しません。コードは次のとおりです。

FocusManager.getCurrentManager().addPropertyChangeListener(new PropertyChangeListener() {
  @Override
  public void propertyChange(PropertyChangeEvent evt) {
    System.out.println(evt.getPropertyName() + " " + evt.getNewValue());
  }
}

JTabbedPaneのタブを変更しても、メッセージは出力されません。これは、JTabbedPaneフォーカスが変更されていないことが原因であると思われます(別のタブをクリックすると、それがまだ親JTabbedPaneに属している可能性があるため)。

これに対する回避策はありますか、または変更されているタブに対しても機能するJavaのフォーカス変更を追跡するためのsaveメソッドを知っている人はいますか?

乾杯、マックス

4

1 に答える 1

1

タブ付きペインに ChangeListener を追加して、タブの変更をリッスンできます。

于 2011-04-28T03:16:51.733 に答える