JavaSwing JCombox

leungqingyun發表於2024-12-07
try
        {
            BeautyEyeLNFHelper.frameBorderStyle = BeautyEyeLNFHelper.FrameBorderStyle.osLookAndFeelDecorated;
            //UIManager.put("RootPane.setupButtonVisible", false);
            org.jb2011.lnf.beautyeye.BeautyEyeLNFHelper.launchBeautyEyeLNF();
            
        }
        catch(Exception e)
        {
            //TODO exception
        }
        
        // 建立窗體物件
        JFrame jFrame =new JFrame();
        // 設定窗體大小
        jFrame.setSize(800, 500);
        // 設定窗體全屏展示
        //jFrame.setExtendedState(JFrame.MAXIMIZED_BOTH);
        // 設定窗體顯示位置
        //jFrame.setLocation(100,200);
        // 設定窗體顯示正中間
        jFrame.setLocationRelativeTo(null);
        // 設定窗體標題
        jFrame.setTitle("窗體標題");
        // 設定窗體不可全屏顯示
        //jFrame.setResizable(false);
        // 設定窗體關閉後退出程式
        jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        //設定此視窗是否應該始終位於其他視窗上方
        jFrame.setAlwaysOnTop(true);
        // 設定窗體圖示
        jFrame.setIconImage(new ImageIcon(HelloWorld.class.getResource("/images/book.png")).getImage());
        

        
        // 建立容器
        JPanel jPanel =new JPanel(null);

        JComboBox<String> select =new JComboBox<String>(); 
        DefaultComboBoxModel<String> data= new DefaultComboBoxModel<String>();
        data.addElement("BJ");
        data.addElement("SH");
        data.addElement("WH");
        select.setModel(data);
        select.setSize(300, 30);
        select.setLocation(10, 10);
        
        // 設定下拉選可編輯
        select.setEditable(true);
        
        // 獲取被選中的下拉選選項
        String item=(String) select.getSelectedItem();
        
        // 給選拉選新增監聽器
        select.addItemListener(new ItemListener() {
            
            @Override
            public void itemStateChanged(ItemEvent e) {
                // 由於item的選中和未選中都會執行一次,所有要進行判斷,只選中的才進行觸發
                if(e.getStateChange()==ItemEvent.SELECTED) {
                    System.out.println("-----");
                }
                
                
            }
        });
        
        
        jPanel.add(select);
        jFrame.setContentPane(jPanel);

        
        // 設定窗體可見
        jFrame.setVisible(true);