我有以下PROGRAMM的JComboBox检查一个从程序选择心不是
package utests;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import java.util.ArrayList;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JPanel;
class Foo extends JFrame {
private JComboBox combo;
public static void main(String... args) {
Foo f = new Foo();
f.showUI();
}
public void showUI() {
this.setVisible(true);
JPanel pane = new JPanel();
this.setContentPane(pane);
combo = new JComboBox();
combo.addItemListener(new ItemListener() {
@Override
public void itemStateChanged(ItemEvent arg0) {
if (arg0.getStateChange() == ItemEvent.SELECTED) {
System.out.println("You selected " + combo.getSelectedItem());
}
}
});
refreshBox();
pane.add(combo);
this.pack();
}
public void refreshBox(){
combo.removeAllItems();
ArrayList<String> list = new ArrayList<String>();
list.add("godsf");
list.add("södlkf");
list.add("ldsjlkfdsj");
for (String s : list) {
combo.addItem(s);
}
}
}
的PROGRAMM会立刻告诉你的字符串
You selected godsf
如何检查,如果用户选中的东西,而不是该程序?
编辑:我改变了一下程序:问题是我需要刷新一些框。每当我刷新框中的数据时,ItemListener被击中,并且我得到错误的结果。 如何检查Action是否由用户完成,而不是由Programm本身完成?要添加一些布尔似乎并不十分类似Java的...
什么你到底想干什么?你能否详细说明你的问题? – 2012-01-18 11:14:53