gpt4 book ai didi

java - JComboBox - 没有空项目的 ItemEvents

转载 作者:行者123 更新时间:2023-11-30 07:36:05 26 4
gpt4 key购买 nike

似乎没有为 JComboBox 中的 null-item 生成选中或取消选中的 ItemEvent。我怎样才能改变这个?制作项目 "" 不是一个选项。

import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import javax.swing.JComboBox;
import javax.swing.JOptionPane;

public class ComboBoxTest {
public static void main(String... args) {
JComboBox cb = new JComboBox(new String[]{null, "one","two","three"});
cb.addItemListener(new ItemListener(){
public void itemStateChanged(ItemEvent e) {
System.out.println(e);
}
});
JOptionPane.showMessageDialog(null, cb);
}
}

最佳答案

空对象在 JComboBox 中不会很好地播放。例如,组合框的 getSelectedIndex 方法在您选择一个项目时触发,如果该对象为 null,则返回 -1。可能还有其他方法执行空值检查并可能返回不正确的结果。

如果你真的需要这个功能,最好使用包装器对象。例如:

class StringWrapper{
final String s;
public StringWrapper(String s){
this.s=s;
}
@Override
public String toString() {
return s;
}
}

final JComboBox cb = new JComboBox(new StringWrapper[]{
new StringWrapper(null),
new StringWrapper("one"),
new StringWrapper("two"),
new StringWrapper("three")});

关于java - JComboBox - 没有空项目的 ItemEvents,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3994846/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com