Java JComboBox不兼容类型:无法转换为字符串

时间:2017-03-26 13:21:23

标签: java jcombobox

当我尝试在JComboBox中添加项目

时出现此错误
  

不兼容的类型:ComboBox无法转换为String

这是我将数据从数据库加载到JComboBox的方法......

public final void loadProducts()
{
    try 
    {
        String sql = "SELECT * from product";
        ps = conn.prepareStatement(sql);
        rs = ps.executeQuery();

        while (rs.next())
        {
            combobox.addItem(new ComboBox(rs.getString(2), rs.getString(1)));
        }
        combobox.setSelectedIndex(-1);
    } 
    catch (SQLException ex) 
    {
        System.out.println(ex);
    }
}

这是班级

public class ComboBox
{
    private String key;
    private String value;

public ComboBox(String key, String value)
{
    this.key = key;
    this.value = value;
}

@Override
public String toString()
{
    return key;
}

public String getKey()
{
    return key;
}

public String getValue()
{
    return value;
}
}

我不知道是什么导致了它!有人可以指出我的错误吗?

2 个答案:

答案 0 :(得分:1)

如果不知道如何声明combobox以及抛出异常的那一行,很难确定......

我的猜测:combobox被声明为JComboBox,它接受String,并且由于添加了ComboBox而不是String,因此抛出了异常。

可能的更正:声明JComboBox保存ComboBox的实例:

private JComboBox<ComboBox> combobox;

答案 1 :(得分:0)

只需将代码属性中的类型参数更改为 ComboBox 或将放在 .addItem 方法中的任何类名

enter image description here