ユーザーに表示される設定のポップアップがあります。外側をクリックすると非表示になりますが、内側をクリックすると表示されたままになります。
この動作を処理するイベント ハンドラーはComponent
(クリックされた) を取得し、component.getParent()
再帰的に使用することで、設定パネルの子であるかどうかを確認できます。これはこれまでのところうまくいきました。
しかし、JComboBox
そのパネルに を追加したところ、「選択可能な項目のポップアップ」(名前はありますか?) をクリックしたときに表示されるコンボボックスがコンボボックスの子ではないことがわかりました。コンボボックスで何かを選択しようとすると、設定パネルが非表示になります。
NetBeans デバッガーを使用すると、そのタイプBasicComboPopup$1
(匿名クラスですか?) を確認できますが、どちらのインスタンスComboPopup
でJPopupMenu
もBasicComboPopup
.
クリックされた「コンボボックスポップアップ」の所有者/親コンボボックスを識別する方法が必要です。