日期:2014-05-20  浏览次数:20794 次

Java 选中JCombobox下拉项产生的事件
我现在做一个小程序,有几个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()得到
所选进行相应的处理