Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/365.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 向JComboBox添加类实例_Java_Swing_Jcombobox_Openjdk 8 - Fatal编程技术网

Java 向JComboBox添加类实例

Java 向JComboBox添加类实例,java,swing,jcombobox,openjdk-8,Java,Swing,Jcombobox,Openjdk 8,在这个问题()中,描述了如何将项添加到JComboBox中。 这将允许在JComboBox中存储一个对象,并重写toString()方法,JComboBox将显示一个值并返回整个对象 我参加了以下课程: 公共类组合项{ 私钥; 私有字符串值; 公共组合项(字符串键、字符串值) { this.key=key; 这个值=值; } @凌驾 公共字符串toString() { 返回键; } 公共字符串getKey() { 返回键; } 公共字符串getValue() { 返回值; } } 然后我尝试将

在这个问题()中,描述了如何将项添加到JComboBox中。 这将允许在JComboBox中存储一个对象,并重写
toString()
方法,JComboBox将显示一个值并返回整个对象

我参加了以下课程:

公共类组合项{
私钥;
私有字符串值;
公共组合项(字符串键、字符串值)
{
this.key=key;
这个值=值;
}
@凌驾
公共字符串toString()
{
返回键;
}
公共字符串getKey()
{
返回键;
}
公共字符串getValue()
{
返回值;
}
}
然后我尝试将其添加到我的JComboBox
comboTimeZoneChart

comboTimeZoneChart.addItem(新的ComboItem(“bar”、“foo”));
但我在Netbeans中遇到以下错误:

incompatible types: ComboItem cannot be converted to String
我已经仔细检查过了,但我不知道会出什么问题。 这个问题也反映在原始问题的接受答案中,有5票赞成,因此似乎我不是唯一面临这个问题的人

我包括错误的图像:


comboTimeZoneChart.addItem(新的ComboItem(“bar”、“foo”).toString())

请包括一个。你确定这不是像使用错误的泛型那样简单的事情吗,即当你应该使用
JComboBox
时使用
JComboBox
?事实上,这一定是问题所在——组合框的泛型不正确,它的模型或者两者都有。我恐怕你没有在你的问题中发布最重要的一段代码——在这里你声明了你的组合框和它的模型。谢谢你指出了重复的部分并隔离了这个问题。问题恰好位于标记为具有相同问题/答案的帖子中。无论它看起来多么简单,我都不知道您可以定义JComboBox。此外,在使用Netbeans UI builder时,我从未见过代码JComboBox的这一部分。我已经用JComboBox替换了JComboBox,问题就解决了。这是一个错误的建议,因为OP创建ComboItem条目类的全部原因是将ComboBox模型中的信息保存为可用的形式。您的建议将丢弃所有这些信息,并且没有任何好处。