从列表中删除

时间:2011-10-03 13:45:03

标签: java swing jlist

在此代码中,当我从列表中间选择一个元素并删除时,所选元素下面的元素也会从“视图”中删除。但它们存在于数据库中,并在应用程序运行时再次出现。请帮我解决这个错误。感谢。

DeleteController delController = new DeleteController();
delController.deleteInfo(dbId);
this.jList1 = list;
AbstractListModel model = (AbstractListModel) jList1.getModel();
int numberElements = model.getSize();
final String[] allElements = new String[numberElements + 1];
for (int i = 0; i < numberElements - 1; i++) {
    String val = (String) model.getElementAt(i);
    if (!dbId.equals(val)) {
        allElements[i] = (String) model.getElementAt(i);
    }
}
jList1.setModel(new javax.swing.AbstractListModel() {

    String[] strings = allElements;

    public int getSize() {
        return strings.length;
    }

    public Object getElementAt(int i) {
        return strings[i];
    }
});

1 个答案:

答案 0 :(得分:6)

使用DefaultListModel。它有removeElementAt()方法