いくつかの「大きな」(特別な) アイテムを含むポップアップ メニューを作成したいと考えています。
これらの「大きな」項目はサブメニューのように振る舞うはずですが、大きなパネル (ボタン、ラベル、コンボ ボックスなどを含む) です。これらのパネルはすべて、マウスが対応するメニュー項目の上にある (または押された) ときに表示され、同じ画面領域のポップアップ メニューのすぐ隣、一番上の項目エントリの下に表示され、対応する項目に整列されません) . 最後に選択したものは、ポップアップが表示されている限り表示されたままになります。
基本的に、これは (A)ポップアップ メニューの横にJLayeredPaneを配置し、いくつかのマウス イベントに応じてレイヤーを切り替えるような感じだと思います。おそらく、これには、この 1 つのエントリだけを持つ JPopupMenu 内の単一の大きな JPanel を使用して、ポップアップ メニュー全体を偽造する必要があります (つまり、すべての「通常の」メニュー項目は実際にはボタンでなければなりません)。
したがって、一方(B) では、標準の swing サブメニュー項目を使用し、大きなパネルをサブメニュー項目として追加してから、すべてのサブメニュー項目を同じ場所とサイズに強制する方がおそらく賢明に思えます。ただし、これが機能するかどうか、また、ユーザーが大きなパネルの 1 つ内のコンボ ボックスをクリックするとすぐにメニューが非表示になるなどの問題があるかどうかはわかりません。
(A)または(B)、または(C)のどちらをお勧めしますか?
そのようなことをする経験/既知の落とし穴はありますか?
よろしく、フィリップ