Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

เราจะแสดงเมนูป๊อปอัปได้อย่างไรเมื่อผู้ใช้คลิกขวาที่ JComboBox ใน Java


JComboBox เป็นคลาสย่อยของ JComponent คลาสที่แสดง รายการดรอปดาวน์ และให้ตัวเลือกแก่ผู้ใช้ที่เราสามารถเลือก ทีละรายการเท่านั้น . JComboBox สามารถแก้ไขหรืออ่านอย่างเดียวได้ . getSelectedItem() วิธีการ สามารถใช้เพื่อรับรายการที่เลือกหรือป้อนจากกล่องคำสั่งผสม เราสามารถเรียกเมนูป๊อปอัปจาก JComboxBox เมื่อผู้ใช้คลิกขวาโดยใช้ MouseListener อินเทอร์เฟซและจำเป็นต้องแทนที่ 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