Java 选择组合框中的任何项目时,将内容写入文本字段
当我从组合框中选择任何项目时,我想在文本字段中写入一些内容。但我不能这么做 Java代码:Java 选择组合框中的任何项目时,将内容写入文本字段,java,string,swing,jcombobox,string-comparison,Java,String,Swing,Jcombobox,String Comparison,当我从组合框中选择任何项目时,我想在文本字段中写入一些内容。但我不能这么做 Java代码: 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) {
if(comboBox.getSelectedItem()=="apple") {
tfbf.setText("apple selected");
}
}
});
因为你没有提供任何有效的例子。您将对象观测相等性与
相等(..)
进行比较,而不是与=
进行比较
"apple".equals(comboBox.getSelectedItem())
阅读更多
=
测试引用相等性
.equals()
测试值是否相等
最好写为:
comboBox.addItemListener(new ItemListener() {
public void itemStateChanged(ItemEvent arg0)
{
tfbf.setText(comboBox.getSelectedItem() + " selected");
}
});
你可以将对象相等与
相等进行比较<代码>=
如果它们指向同一个引用,则只比较引用object@assylias我不理解你的评论。你指的是我还是OP?当然,我添加了Swing标签。我通过使用itemstener
暗示了Swing。Java FX是否也使用了ItemListener
?出于某种原因,我认为它是一个JavaFX组合框,但我错了!在JavaFX中,它类似于:comboBox.addChangeListener(…)
@assylias谢谢!它是基于(社区维基答案)。所以现在它将是,以便更快地发布MCVT
?@nachokk No。。目前,我坚持目前的做法(我怀疑维基的改变不会被采纳)。非常感谢。我已经用这个代码解决了挑剔的“apple”。equals(comboBox.getSelectedItem())将避免可能出现的NullPointerException+1@MadProgrammer我欣赏尤达风格,但对于这个例子,我认为没有必要,顺便说一句,这里不是凌晨5点吗?@nachokk良好实践使完美,是的…@Madcommer ok我编辑过
comboBox.addItemListener(new ItemListener() {
public void itemStateChanged(ItemEvent arg0)
{
tfbf.setText(comboBox.getSelectedItem() + " selected");
}
});