首先,我将这些声明为全局变量:
private static ArrayList<Resource> resourceList;
private static JComboBox resourceBox;
然后我有一个方法,将String
项添加到JComboBox
。 JComboBox
放在JPanel
上(此处未显示)。
private static JComboBox createComboBox(){
resourceBox = new JComboBox();
for(Resource r : resourceList){
resourceBox.addItem(r.getName());
}
return resourceBox;
}
以下方法创建JButton
,并将其添加到同一面板中。
private static JButton createButton() {
JButton b = new JButton("Click");
b.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e){
System.out.println(resourceBox.getSelectedItem());
}
});
return b;
}
它在我的JFrame
窗口中显示得很好。我可以点击JComboBox
并查看其中的所有不同项目。它们被称为“Res1”,“Res2”,“Res3”等。但是,当我单击按钮时,它总是打印“Res1”(列表中的第一项),无论我在组合框中选择了什么。
知道可能导致这种情况的原因吗?