2014-10-06 3 views
-1

jlist의 요소/항목을 올바르게 제거하려면 어떻게해야합니까? 나는 항상이 오류가 발생하기 때문에. Google에서 해결 방법을 찾을 수 없습니다.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()); 
    } 
} 
+0

빨리/MCVE, 지역 변수를 제거 – mKorbel

+0

에서 JList를위한 hadcoded 값, 짧은 실행 가능한, 컴파일 가능한이 제대로 디버깅 다음 눈치 챘을 수도로 문제가 SSCCE되지 않습니다 게시 'getElementAt' – Smutje

+1

내가 아는 한, 요소를 선택하지 않으면'-1'이 반환됩니다. –

답변

1

getSelectedIndex() 반환 -1 더 요소의 JList에 선택되지 않습니다. 요소가 선택되어 있는지 확인한 다음 논리를 사용하여 처리하십시오. 발견 - 더 나은 도움을

Documentation

관련 문제