ユーザーがJavaでJComboBoxを右クリックしたときに、ポップアップメニューを表示するにはどうすればよいですか?
JComboBox JComponentのサブクラスです ドロップダウンリストを表示するクラス また、一度に1つのアイテムのみを選択できるオプションをユーザーに提供します 。 JComboBoxは、編集可能または読み取り専用にすることができます 。 getSelectedItem() 方法 コンボボックスから選択または入力されたアイテムを取得するために使用できます。 MouseListener を実装することにより、ユーザーがJComboxBoxを右クリックしたときに、ポップアップメニューを呼び出すことができます。 インターフェイスであり、 mouseReleased()をオーバーライドする必要があります 方法。メソッドisPopupTrigger() MouseEvent クラスを使用してポップアップメニューを表示できます。
例
import java.awt.*; import java.awt.event.*; import javax.swing.*; public class JComboBoxPopupTest extends JFrame { private JComboBox jcb; private JPopupMenu jpm; private JMenuItem mItem1, mItem2; public JComboBoxPopupTest() { setTitle("JComboBoxPopup Test"); setLayout(new FlowLayout()); jcb = new JComboBox(new String[] {"Item 1", "Item 2", "Item 3"}); jpm = new JPopupMenu(); mItem1 = new JMenuItem("Popup Item 1"); mItem2 = new JMenuItem("Popup Item 2"); jpm.add(mItem1); jpm.add(mItem2); ((JButton)jcb.getComponent(0)).addMouseListener(new MouseAdapter() { public void mouseReleased(MouseEvent me) { if (me.isPopupTrigger()) { jpm.show(jcb, me.getX(), me.getY()); } } }); add(jcb); setSize(400, 300); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setLocationRelativeTo(null); setVisible(true); } public static void main(String[] args) throws Exception { new JComboBoxPopupTest(); } }
出力
-
編集可能なJComboBoxをJavaで実装するにはどうすればよいですか?
JComboBox JComboBox JComponentを拡張できます クラスであり、テキストフィールドの組み合わせです。 およびドロップダウンリスト ユーザーはそこから値を選択できます。 コントロールのテキストフィールド部分が編集可能な場合、ユーザーはフィールドに値を入力するか、ドロップダウンリストから取得した値を編集できます。 デフォルトでは、ユーザーは JComboBoxのテキストフィールド部分のデータを編集できません。 。ユーザーがテキストフィールドを編集できるようにする場合は、 setEditable(true)を呼び出します。 メソッド。 JComboBox
-
JavaでJPopupMenuを使用して右クリックメニューを実装するにはどうすればよいですか?
JPopupMenu マウスの右ボタンがクリックされると、画面の任意の場所に表示されます 。 JPopupMenu ポップアップメニューは、呼び出し元と呼ばれる基になるコンポーネントに関連付けられたフローティングメニューです。 。 ほとんどの場合、ポップアップメニューは特定のコンポーネントにリンクされており、状況に応じた選択肢が表示されます。 ポップアップメニューを作成するには、 JPopupMenuを使用できます クラス。、 JMenuItemを追加できます 通常のメニューのようにポップアップメニューに移動します。 ポップアップメニューを表示するには、 show()を呼び出します。