Java 选中JCombobox下拉项产生的事件 JCombobox.addItemListener(ItemListener listener) 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 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事件选择后产生ActionListenerlz选中0002后在事件处理就可以用getSelectedItem()得到所选进行相应的处理 回复:zss6233305: 我有用itemStateChanged(ItemEvent e)来做,但是在程序运行时jb.addItem("1");jb.addItem("2");jb.addItem("3");这些动作itemStateChanged(ItemEvent e)好像也有相应,我现在想只有通过鼠标或者键盘选中才响应,而如果是程序中执行jb.addItem("X");这些动作的时候就不响应,这样能否做到呢? 回复wwwcomcn123如果用ActionListener监听,好像对JComboBox所有的动作都会响应,如何只响应鼠标或键盘选中所产生的事件,能否给出具体的代码,谢谢 import javax.swing.*;import java.awt.*;import java.awt.event.*;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) { if(jb.getSelectedItem()=="选项1") { System.out.println("选择了选项1"); } if(jb.getSelectedItem()=="选项2") { System.out.println("选择了选项2"); } if(jb.getSelectedItem()=="选项3") { System.out.println("选择了选项3"); } }} public static void main(String args[]) { new JComboBoxDemo(); } } 2#的代码改动了一点 不知道是不是你想要的 java面试经常遇到的sqltimian java实现二叉树旋转距离计算 在HP-UX下的汉字为什么占8个字节 tomcat连接池不正常 下载网页遇到的编码问题 急!在线等!我下载了JDK5.0还有UltraEdit共享软件这样可以运行JAVA程序了吗?初学!谢谢! 求救!提供有用源代码者加200分 在Label 中显示时间 介绍几个学习java的网站????????? eclipse导出的jar包双击不能运行 使用BufferedWriter文件为什么会被清空? 为什么重写equals方法的同时要重写hashCode方法
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();
}
}
当JComboBox选中时产生ItemEvent事件
选择后产生ActionListener
lz选中0002后在事件处理就可以用getSelectedItem()得到
所选进行相应的处理
我有用itemStateChanged(ItemEvent e)来做,但是在程序运行时
jb.addItem("1");
jb.addItem("2");
jb.addItem("3");
这些动作itemStateChanged(ItemEvent e)好像也有相应,我现在想只有通过鼠标或者键盘选中才响应,而如果是程序中执行jb.addItem("X");这些动作的时候就不响应,这样能否做到呢?
import java.awt.*;
import java.awt.event.*;
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)
{
if(jb.getSelectedItem()=="选项1") {
System.out.println("选择了选项1");
}
if(jb.getSelectedItem()=="选项2") {
System.out.println("选择了选项2");
}
if(jb.getSelectedItem()=="选项3") {
System.out.println("选择了选项3");
}
}
}
public static void main(String args[])
{
new JComboBoxDemo();
}
}
2#的代码改动了一点 不知道是不是你想要的