首先,我将这些声明为全局变量:
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”(列表中的第一项),无论我在组合框中选择了什么。
知道是什么原因造成的吗?