アプリケーションでツールバーを作成したいと考えています。そのツールバーのボタンをクリックすると、Eclipse のツールバーと同じように、メニューがポップアップ表示されます。Swingでこれを行う方法がわかりません。誰か助けてくれませんか?Google を試しましたが、何も見つかりませんでした。
39825 次
7 に答える
17
これが必要以上に難しい理由や、MouseListener を使用する必要がある理由がわかりません。Steve McLeod による解決策は機能しますが、メニューが表示される場所は、マウスがクリックされた場所によって異なります。JButton に通常使用されるように ActionListener を使用しないのはなぜですか。難しくも少なくもないようです。
final JPopupMenu menu = new JPopupMenu();
menu.add(...whatever...);
final JButton button = new JButton();
button.setText("My Menu");
button.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent ev) {
menu.show(button, button.getBounds().x, button.getBounds().y
+ button.getBounds().height);
}
});
これにより、JMenuBar のメニューとほぼ同じようにメニューが配置され、位置が一貫しています。menu.show() の x と y を変更することで、別の場所に配置できます。
于 2012-10-16T18:16:30.937 に答える
2
AWTと同じだと思います。
そのボタンに ActionCommand を配置し、実行時にマウス座標に従ってポップアップ メニューを表示する必要があります。
于 2009-11-07T10:50:07.117 に答える
2
How to Use MenusのセクションBringing a Popup Menuを参照してください。
于 2009-11-07T11:35:56.487 に答える
1
私はあなたを正しく理解しているかどうかわかりませんが、Swing でツールバーを作成する方法を知りたい場合は、これをチェックしてください
于 2009-11-07T11:30:34.763 に答える