这是代码
private void jList2MouseClicked(java.awt.event.MouseEvent evt) {
JList list = (JList)evt.getSource();
if (evt.getClickCount() == 2) {
// Double-click detected
int index = list.locationToIndex(evt.getPoint());
System.out.println("index :" + index);
System.out.println(a.getElementAt(index));
a.removeElementAt(index);
jList2.setModel(a);
}
}
我在这里要做的只是从我设置了DefaultListModel
的{{1}}( a )( jList2 < / em>),只需在要删除的JList
元素上单击两次即可。
我对代码进行了一些测试,以找出具有3个元素的jList2
的问题所在。我在a
的第二个元素上单击了两次(每个元素都会发生问题),出现的内容是:
jList2
问题似乎出在index :1
element 2
Exception in thread "AWT-EventQueue-0" java.lang.IndexOutOfBoundsException: Index: 17, Size: 17
(顺便说一句,当我尝试添加而不是删除时,这种双击方法有效)
还有其他方法吗?