如何清除Java中的JList?

我有一个jList在gui,我可以添加一些数据与添加按钮.
我想添加另一个名为Clear的按钮,它将清除所有元素.
我试过这个:

private void jButtonClearActionPerfomed(java.awt.event.ActionEvent evt)
{
    DefaultListModel listmodel=new DefaultListModel();
    jList1 = new JList(listmodel);
    if(evt.getSource()==jButtonClear) JList.setListData(new String[0];
    else listmodel.removeAllElements();
}

当我点击添加按钮这将添加元素.

当我点击清除按钮这个删除元素.

但是当我重新点击添加按钮时,jList1中没有任何内容

您不应该重新初始化整个JList小部件,只是为了从其中删除一些项目.相反,您应该操纵列表模型,因为它的更改会自动“同步”回UI.假设您确实使用DefaultListModel,这足以实现“清除所有”功能:

private void jButtonClearActionPerfomed(java.awt.event.ActionEvent evt) {
    if(evt.getSource()==jButtonClear) {
        DefaultListModel listModel = (DefaultListModel) jList1.getModel();
        listModel.removeAllElements();
    }
}
翻译自:https://stackoverflow.com/questions/13597903/how-to-clear-a-jlist-in-java

转载注明原文:如何清除Java中的JList?