JComboBox,列表中有许多可见项,但始终选择第一项

时间:2013-06-20 16:32:50

标签: java swing events jbutton jcombobox

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

private static ArrayList<Resource> resourceList;    
private static JComboBox resourceBox;


然后我有一个方法,将String项添加到JComboBoxJComboBox放在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”(列表中的第一项),无论我在组合框中选择了什么。

知道可能导致这种情况的原因吗?

0 个答案:

没有答案