我写了一个JComboBox,添加了一个数组进去。我想当点击其中的项时就打出那一项的内容来,可是在点击的时候却打出了两个,这是怎么回事啊? JComboBox comboBox = new JComboBox();
comboBox.setEditable(true);
comboBox.setBackground(Color.WHITE);
String[] item = {"请您选择或直接输入","www.163.com","www.yahoo.com","www.baidu.com","www.sohu.com","www.sina.com"};
for(int i=0; i<item.length; i++) {
String show = item[i].toString();
comboBox.addItem(show);
}
comboBox.addItemListener(new ItemListener(){
public void itemStateChanged(ItemEvent arg0) {
// TODO Auto-generated method stub
address = comboBox.getSelectedItem().toString();
System.out.println(address);//就在这会打出两个结果,比如点www.sohu.com就会在控制台里打出两个www.sohu.com
}
});
comboBox.setEditable(true);
comboBox.setBackground(Color.WHITE);
String[] item = {"请您选择或直接输入","www.163.com","www.yahoo.com","www.baidu.com","www.sohu.com","www.sina.com"};
for(int i=0; i<item.length; i++) {
String show = item[i].toString();
comboBox.addItem(show);
}
comboBox.addItemListener(new ItemListener(){
public void itemStateChanged(ItemEvent arg0) {
// TODO Auto-generated method stub
address = comboBox.getSelectedItem().toString();
System.out.println(address);//就在这会打出两个结果,比如点www.sohu.com就会在控制台里打出两个www.sohu.com
}
});
楼主【jidushanbojue】截止到2008-07-31 11:19:18的历史汇总数据(不包括此帖):
发帖的总数量:21 发帖的总分数:335 每贴平均分数:15
回帖的总数量:18 得分贴总数量:2 回帖的得分率:11%
结贴的总数量:21 结贴的总分数:335
无满意结贴数:9 无满意结贴分:200
未结的帖子数:0 未结的总分数:0
结贴的百分比:100.00% 结分的百分比:100.00%
无满意结贴率:42.86 % 无满意结分率:59.70 %
敬礼!
取消马甲机器人,请点这里:http://www.java2000.net/mycsdn/robotStop.jsp?usern=jidushanbojue
public void itemStateChanged(ItemEvent arg0) {
// TODO Auto-generated method stub
address = comboBox.getSelectedItem().toString();
System.out.println(address);//就在这会打出两个结果,比如点www.sohu.com就会在控制台里打出两个www.sohu.com
}
});
加一个if
comboBox.addItemListener(new ItemListener() { public void itemStateChanged(ItemEvent arg0) {
// TODO Auto-generated method stub if (arg0.getStateChange() == ItemEvent.SELECTED) {
address = comboBox.getSelectedItem().toString();
System.out.println(address);//就在这会打出两个结果,比如点www.sohu.com就会在控制台里打出两个www.sohu.com } }
});
void itemStateChanged(ItemEvent e)
在用户已选定或取消选定某项时调用。
为此方法编写的代码将执行需要在已选定(或已取消选定)项时发生的操作。API中说的!
comboBox.setEditable(true);
comboBox.setBackground(Color.WHITE);
String[] item = {"请您选择或直接输入","www.163.com","www.yahoo.com","www.baidu.com","www.sohu.com","www.sina.com"};
for(int i=0; i<item.length; i++) {
String show = item[i].toString();
comboBox.addItem(show);
}
comboBox.addActionListener(new ActionListener(){//这里
public void actionPerformed(ActionEvent arg0) {
// TODO Auto-generated method stub
address = comboBox.getSelectedItem().toString();
System.out.println(address);
}
});