我现在做一个小程序,有几个JCombobox,如何只响应选中JCombobox的下拉项才产生的事件,因为我需要用选中的Item去数据库查询数据,比如此JCombobox有(0001,0002,0003......)如果选中0002,就用0002去数据库查询相应的记录,那么如何响应选中0002这个事件呢?请各位帮帮忙!谢谢啦!
------解决方案--------------------
JCombobox.addItemListener(ItemListener listener)
------解决方案--------------------
- Java code
public class JComboBoxDemo extends JFrame implements ItemListener{ JComboBox jb; JPanel p=new JPanel(); public JComboBoxDemo() { jb=new JComboBox(); jb.addItem("1"); jb.addItem("2"); jb.addItem("3"); jb.addItemListener(this); p.add( jb); this.getContentPane().add(p); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.setSize(360, 260); this.setVisible(true); } public void itemStateChanged(ItemEvent e) { if(e.getStateChange() == ItemEvent.SELECTED) { String s=(String)jb.getSelectedItem(); System.out.println(s); }} public static void main(String args[]) { new JComboBoxDemo(); } }
------解决方案--------------------
用ActionListener监听
当JComboBox选中时产生ItemEvent事件
选择后产生ActionListener
lz选中0002后在事件处理就可以用getSelectedItem()得到
所选进行相应的处理