Java AbstractListModel中刷新JComboBox的方法?

Java AbstractListModel中刷新JComboBox的方法?,java,swing,jcombobox,Java,Swing,Jcombobox,JComboBox从数据库中检索信息。添加数据后,列表应立即更新 我知道我需要FireContents更改为要更新的值。我不确定我应该在方法上做些什么。任何指导都将不胜感激 class ComboModel extends AbstractListModel implements ComboBoxModel { ArrayList list = new ArrayList(); @Override public Object getElementAt(int arg0

JComboBox从数据库中检索信息。添加数据后,列表应立即更新

我知道我需要
FireContents更改为要更新的值。我不确定我应该在方法上做些什么。任何指导都将不胜感激

class ComboModel extends AbstractListModel implements ComboBoxModel 
{
    ArrayList list = new ArrayList();

    @Override
    public Object getElementAt(int arg0) {

        return null;
    }

    @Override
    public int getSize() {
        return list.size();     
    }

    @Override
    public Object getSelectedItem() {


    }

    @Override
    public void setSelectedItem(Object arg0) {


    }           
}


stockListComboBox = new JComboBox();
ComboModel model = new ComboModel();
stockListComboBox.setModel(model);          

try
{
    // Database stuffs
}

catch(Exception e)
{
    e.printStackTrace();
}

您需要提供一些集合作为模型的核心,比如ArrayList或其他类型的有序列表。这样做,方法就会开始有意义。

如前所述,您需要提供数据。组合框最简单的方法是使用DefaultComboxModel,它在其构造函数中接受对象[]。一般来说,上面的前两种方法是1)获取列表中的元素,2)返回列表的大小


接下来的两个用于跟踪列表中选择的项目。我建议看一下javadocs。此外,如果您使用的是eclipse、netbeans或intellij,您应该能够非常轻松地查看DefaultComboxModel的源代码,并且这些方法的作用应该显而易见。

Matt,感谢您的解释。我需要使用所有的方法吗?我只需要从我的数据库中检索数据。装满鳗鱼的气垫船,谢谢你的解释。我需要使用所有的方法吗?我一直在看几个例子,但我还是迷路了。我不确定我应该在这些方法中添加什么。你需要覆盖抽象方法,这些方法是必需的。试一试,你很可能会发现,或者至少会接近它。