JList와 JComboBox를 서로 다른 위치에서 사용합니다. 둘 다의 내용은 동적으로 변합니다.JComboBox 모델을 변경해, ListModel를 unsigned합니다. 그것은 숨겨진 봉헌 생활을 했습니까?
comboBox를 만든 후에는 comboBox.setModel (String [])이라고 말하면됩니다. 새 모델을 만든 다음 comboBox로 설정해야합니다.
같은 일이 JList에서 발생합니다.
.setNewModel (String [])이라는 새 메서드를 추가하기 위해 내 Jlist 및 ComboBox를 만드는 대신 String []을 받고 ListModel을 반환하는 "유틸리티"클래스에서 정적 메서드를 만들었습니다.
그래서 나는이 작업을 수행 할 수 있습니다
someComboBox.setModel((ComboBoxModel)UtilityClass.convetToListModel(aStringArray));
나는 JList의 동일한를 사용합니다.
someList.setModel(UtilityClass.convetToListModel(anotherStringArray));
내 질문은 :
가의 ComboBoxModel로의 ListModel의 주조가 예상 밖의 결과를 가져올 수 있을까요? 그렇다면 ArrayString을 모델로 변환하지 않고도 comboBox의 전체 내용을 변경해야합니까? 여기
는 메소드의 코드입니다 :public static ListModel convertToListModel(String[] nList)
{
return (new JComboBox(nList).getModel());
}
이 프로그램은 컴파일과 잘 실행하지만 항상 캐스팅 나를 의심, 특별히 복잡한 객체를 생성합니다. 예 저는 JComboBox와 JList를 확장하여 작업을 수행하는 메서드를 추가 할 수 있지만 많은 추가 작업이 필요하다는 것을 알고 있습니다. 왜 ComboBox와 Jlist는 간단한 문자열 배열을 허용하는 것보다 모델을 수정하거나 수정하지 못합니까?
+1 간단하고 바퀴를 다시 발명하지 않기 위해서. – camickr
감사합니다. 이 defaultComboBoxModel을 완전히 간과하고 있습니다. 내가 시도한 첫 번째 일은 거의 정확히하지만 ComboBoxModel을 사용하면 추상이고 모든 (지금) 미친 해결 방법으로 오류가 발생했습니다. 지금 코드 정리하기. – rciafardone