스윙이있는 프로그램을 작성하고 여러 객체 E를 표시하기 위해 JList를 사용했습니다. 단추로 목록에서 개체를 제거 할 수 있기를 원했습니다. 의 ActionListener 내에서 내가 코딩 : 이클립스 또는 '-jar xyz.jar 자바'와 콘솔에서 실행 할 때Java - JList.getSelectedValuesList()가 jar 파일에서 작동하지 않습니다.
List<Data> datas = dataList.getSelectedValuesList();
for(Data data : datas)
deleteData(data);
dataList.setListData(getDatas());
이 완벽했다. 그러나 .jar 파일을 두 번 클릭하면 제거 단추가 전혀 작동하지 않으며 목록에서 제거 된 항목이 없으며 오류조차 생성되지 않습니다.
따라서, 나는 List.getSelectedValues 테스트() 메소드 :
Object[] datas = dataList.getSelectedValues();
for(Object data : datas)
deleteData((Data)data);
dataList.setListData(getDatas());
이 방법은 완벽했다. 다만,이 메소드는, JDK 1.7부터 getSelectedValuesList()를 사용하고 있습니다. 누군가 내게 문제를 설명 할 수 있습니까? Java 빌드 문제입니까? 어떻게 비 권장되지 않는 메소드를 계속 사용할 수 있습니까?
감사합니다.
컴퓨터에 여러 개의 Java 버전이 설치되어 있습니까? – Danny
예. 이것이 어떻게 문제가 될 수 있습니까? – Morrow
제 생각에는 자바의 다른 버전으로 실행중인 jar를 더블 클릭하면 명령 행에서 실행할 때입니다. 항아리를 마우스 오른쪽 버튼으로 클릭하고 컴파일 된 것과 동일한 버전의 java로 실행하십시오. – Danny