如何从jlist中删除元素?

时间:2014-10-06 11:30:34

标签: java swing jlist

如何正确删除jlist中的元素/项?因为我总是遇到这个错误。 我无法从谷歌找到任何解决方案。

Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: -1
at java.util.Vector.elementData(Vector.java:734)
at java.util.Vector.elementAt(Vector.java:477)
at javax.swing.DefaultListModel.getElementAt(DefaultListModel.java:89)

型号:DefaultListModel CartModel = new DefaultListModel();

Cart.setModel(CartModel);

JList:private javax.swing.JList Cart;

没关系StringSearch方法。

我的代码:

private void removeFromCartActionPerformed(java.awt.event.ActionEvent evt)
{                                               
   if(!CartModel.isEmpty()) {
       String selectedText = (String)CartModel.getElementAt(Cart.getSelectedIndex());
       StringSearch(selectedText,2);
       CartModel.removeElementAt(Cart.getSelectedIndex());
   }
}

1 个答案:

答案 0 :(得分:1)

当在JList上没有选择任何元素时,

getSelectedIndex()返回-1。 尝试检查是否选择了元素,然后使用逻辑进行处理。

Documentation