Computer >> 컴퓨터 >  >> 프로그램 작성 >> Java

Java에서 사용자가 JComboBox를 마우스 오른쪽 버튼으로 클릭할 때 팝업 메뉴를 표시하려면 어떻게 해야 합니까?

<시간/>

JComboBox JComponent 의 하위 클래스입니다. 드롭다운 목록 을 표시하는 클래스 사용자에게 한 번에 하나의 항목만 선택할 수 있는 옵션을 제공합니다. . JComboBox는 편집 가능하거나 읽기 전용일 수 있습니다. . getSelectedItem() 방법 콤보 상자에서 선택하거나 입력한 항목을 가져오는 데 사용할 수 있습니다. MouseListener 를 구현하여 사용자가 JComboxBox를 마우스 오른쪽 버튼으로 클릭할 때 팝업 메뉴를 호출할 수 있습니다. 인터페이스 및 mouseReleased()를 재정의해야 함 방법. isPopupTrigger() 메소드 마우스 이벤트 클래스를 사용하여 팝업 메뉴를 표시할 수 있습니다.

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();
   }
}

출력

Java에서 사용자가 JComboBox를 마우스 오른쪽 버튼으로 클릭할 때 팝업 메뉴를 표시하려면 어떻게 해야 합니까?