12

JMenuItemボタンを含むカスタムを作成することは可能ですか? たとえば、次のようなJMenuITemアイテムでを作成できます。

丸で囲まれた編集メニュー項目を含む Google Chrome のカスタマイズおよびコントロール メニューのスクリーンショット

+----------------------------------------+
| JMenuItem [ Button | Button | Button ] |
+----------------------------------------+
4

3 に答える 3

4

これを行う簡単な方法があるとは思えません。次のようなことができます:

JMenuItem item = new JMenuItem("Edit                       ");
item.setLayout( new FlowLayout(FlowLayout.RIGHT, 5, 0) );
JButton copy = new JButton("Copy");
copy.setMargin(new Insets(0, 2, 0, 2) );
item.add( copy );
menu.add( item );

しかし、いくつかの問題があります。

a) ボタンをクリックしてもメニューが閉じません。そのため、そのコードを ActionListener に追加する必要があります

b) メニュー項目が左右の矢印などのキー イベントに応答しないため、キーボードを使用してボタンにフォーカスを当てる方法がありません。これには、メニュー項目の UI の変更が含まれますが、どこから始めればよいかわかりません。

標準の UI デザインを使用してサブメニューを作成するだけです。

于 2011-05-12T02:01:59.240 に答える
1

個人的には、個々のメニュー項目を使用し、それらを並べて配置し、個々のボタンごとにアクションリスナーを用意します。トリッキーな部分は、JPanelのようなコンテナ内に配置し、フローレイアウトまたはグリッドレイアウトに配置することです。

于 2011-05-12T01:38:48.393 に答える