0

首先,我将这些声明为全局变量:

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”(列表中的第一项),无论我在组合框中选择了什么。

知道是什么原因造成的吗?

4

0 回答 0