java關於如何給下拉列表框內的元素加上監聽器獲取其內容
本測試代碼采用JFrame模塊
全代碼:
import javax.swing.*; import java.awt.event.ItemListener; import java.awt.event.ItemEvent; import java.awt.*; import java.awt.event.ActionListener; import java.awt.event.ActionEvent; public class da1 extends JFrame{ public da1() { setLayout(null); setTitle("JFrame結課"); Container c = getContentPane(); //文本顯示框 JTextField jt1 = new JTextField(); JTextField jt2 = new JTextField(); jt1.setBounds(150, 220, 100, 50); jt2.setBounds(150, 280, 100, 50); c.add(jt1); c.add(jt2); //顏色下拉框 String[] b1 = new String[]{"紅色","藍色","綠色"}; final JComboBox<String> lib = new JComboBox<String>(b1); lib.setBounds(150, 10, 100, 50); c.add(lib); lib.addItemListener(new ItemListener() { //開始itemStateChanged方法,該方法在選擇一種顏色時自動調用 public void itemStateChanged(ItemEvent e) { //首先獲得選擇的列表的索引號 int index = lib.getSelectedIndex(); //判斷所選的內容 switch (index) { case 0: //紅 jt1.setText("紅"); break; case 1: //藍 jt1.setText("藍"); break; case 2: //綠 jt1.setText("綠"); break; default: //其它情況 break; } } }); // 事件監聽添加完成 //男女單選框 JRadioButton db1 = new JRadioButton("男"); JRadioButton db2 = new JRadioButton("女"); ButtonGroup bu1 = new ButtonGroup(); db1.setBounds(150, 80, 50, 20); db2.setBounds(150, 110, 50, 20); bu1.add(db1); bu1.add(db2); db1.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { jt2.setText(""); jt2.setText("男"); } }); db2.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { jt2.setText(""); jt2.setText("女"); } }); c.add(db1); c.add(db2); //確認取消按鈕 JButton jb1 = new JButton("確認"); JButton jb2 = new JButton("取消"); jb1.setBounds(80, 160, 100, 50); jb2.setBounds(190, 160, 100, 50); jb1.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { String s=jt1.getText().toString(); System.out.println(s); String s1=jt2.getText().toString(); System.out.println(s1); JOptionPane.showMessageDialog(null, "提交成功"); } }); c.add(jb1); c.add(jb2); setBounds(800,300,400,400); setVisible(true); } public static void main(String args[]) { new da1(); } }
核心代碼:
lib.addItemListener(new ItemListener()//添加選擇監聽事件 { //開始itemStateChanged方法,該方法在選擇一種顏色時自動調用 public void itemStateChanged(ItemEvent e) { //首先獲得選擇的列表的索引號 int index = lib.getSelectedIndex(); //判斷所選的內容 switch (index) { case 0: //紅 jt1.setText("紅"); break; case 1: //藍 jt1.setText("藍"); break; case 2: //綠 jt1.setText("綠"); break; default: //其它情況 break; } } }); // 事件監聽添加完成
監聽所得到的內容將添加到文本框內
代碼運行截圖:
本次說明到此結束,小弟第一次寫博客,如果能幫助到看官,麻煩點下贊是對小弟莫大的支持,如有什么問題,歡迎評論留言