选择组合框中的任何项目时,向文本字段写入内容

时间:2014-01-13 18:45:48

标签: java string swing jcombobox string-comparison

当我从组合框中选择任何项目时,我想写一些文本字段。但我不能这样做。

Java代码:

comboBox.addItemListener(new ItemListener() {
    public void itemStateChanged(ItemEvent arg0) {
            if(comboBox.getSelectedItem()=="apple") {
                tfbf.setText("apple selected");
            }
        }
    });

2 个答案:

答案 0 :(得分:5)

由于您未提供任何有效示例。您将对象观察等式与equals(..)进行比较,而不是==

"apple".equals(comboBox.getSelectedItem())

了解更多How do I compare strings in Java?

  

==测试参考相等性。

     

.equals()测试价值平等。

答案 1 :(得分:3)

comboBox.addItemListener(new ItemListener() {
    public void itemStateChanged(ItemEvent arg0)
    {
        if(comboBox.getSelectedItem()=="apple")
        {
              tfbf.setText("apple selected");
        }
    }
});

可能写得更好:

comboBox.addItemListener(new ItemListener() {
    public void itemStateChanged(ItemEvent arg0)
    {
        tfbf.setText(comboBox.getSelectedItem() + " selected");
    }
});