关于jcombobox的item选择事件的问题 请问我想在一个jcombobox里用鼠标点击一个item就触发一个事件,需要用什么事件处理方法?actionPerformed方法在一开始显示jcombobox就触发了,还没等我用鼠标选择item,而itemStateChanged要item改变后触发,我想要刚生成窗口时有个jcombobox,里面有几个item,并且最开始默认为空,再用鼠标点item来触发事件,这怎么做? 谢谢各位~!!! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 鼠标监听只是点击到jcombobox上就会触发,并不是选择不同的item才触发 比如if(e.getStateChange() == ItemEvent.SELECTED){//要执行的代码} 我不知道楼主有什么问题,你加一个判断就好了啊。import java.awt.EventQueue;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.ItemEvent;import java.awt.event.ItemListener;import javax.swing.JComboBox;import javax.swing.JFrame;public class JComboBoxTest extends JFrame { private JComboBox comboBox; /** * Launch the application * * @param args */ public static void main(String args[]) { EventQueue.invokeLater(new Runnable() { public void run() { try { JComboBoxTest frame = new JComboBoxTest(); frame.setVisible(true); } catch (Exception e) { e.printStackTrace(); } } }); } /** * Create the frame */ public JComboBoxTest() { super(); getContentPane().setLayout(null); setBounds(100, 100, 500, 375); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); comboBox = new JComboBox(); comboBox.addItemListener(new ItemListener() { public void itemStateChanged(final ItemEvent e) { int index = comboBox.getSelectedIndex(); if (index != 0) { // ==0表示选中的事第一个 String content = comboBox.getSelectedItem().toString(); System.out.println("index222=" + index + ", content=" + content); } } }); comboBox.addActionListener(new ActionListener() { public void actionPerformed(final ActionEvent e) { int index = comboBox.getSelectedIndex(); if (index != 0) { // ==0表示选中的事第一个 String content = comboBox.getSelectedItem().toString(); System.out.println("index111=" + index + ", content=" + content); } } }); comboBox.setBounds(96, 131, 106, 25); comboBox.addItem(""); comboBox.addItem("1111"); comboBox.addItem("2222"); comboBox.addItem("3333"); getContentPane().add(comboBox); // }} 解决了,谢谢大家~!特别是xiaoduan5267 !谢谢! 关于在myeclipse查看开源源代码的问题 swt页面如何向TableViewer换ArrayList 如何用JAVA编写词法分析器程序 学习Java还是学习C++ cannot resolve symbol 初学java请教:有关聊天程序 请教,如何结束后台运行的java程序! 在java中执行外部程序,得不到标准输出,那位大虾帮帮我 请问 args.length、parseInt()、这个是什么意思? tomcat必须要安装吗?我下载的tomcat怎么没有安装文件? Java播放mp3有没有好的方法? for循环
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import javax.swing.JComboBox;import javax.swing.JFrame;public class JComboBoxTest extends JFrame { private JComboBox comboBox; /**
* Launch the application
*
* @param args
*/
public static void main(String args[]) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
JComboBoxTest frame = new JComboBoxTest();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
} /**
* Create the frame
*/
public JComboBoxTest() {
super();
getContentPane().setLayout(null);
setBounds(100, 100, 500, 375);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); comboBox = new JComboBox();
comboBox.addItemListener(new ItemListener() {
public void itemStateChanged(final ItemEvent e) {
int index = comboBox.getSelectedIndex();
if (index != 0) { // ==0表示选中的事第一个
String content = comboBox.getSelectedItem().toString();
System.out.println("index222="
+ index + ", content=" + content);
}
}
});
comboBox.addActionListener(new ActionListener() {
public void actionPerformed(final ActionEvent e) {
int index = comboBox.getSelectedIndex();
if (index != 0) { // ==0表示选中的事第一个
String content = comboBox.getSelectedItem().toString();
System.out.println("index111="
+ index + ", content=" + content);
}
}
});
comboBox.setBounds(96, 131, 106, 25);
comboBox.addItem("");
comboBox.addItem("1111");
comboBox.addItem("2222");
comboBox.addItem("3333");
getContentPane().add(comboBox);
//
}}