JList
에서 선택한 항목을 삭제할 수있는 간단한 방법은 누구나 알 수 있습니까?JList에서 선택한 항목 삭제
Google에서 검색 한 결과 매우 다양한 방법을 발견했습니다. 어떤 방법을 사용해야합니까?
JList
에서 선택한 항목을 삭제할 수있는 간단한 방법은 누구나 알 수 있습니까?JList에서 선택한 항목 삭제
Google에서 검색 한 결과 매우 다양한 방법을 발견했습니다. 어떤 방법을 사용해야합니까?
@Andreas_D가 말했듯이, 데이터 중심으로,보다 추상적 인 ListModel이 해결책입니다. DefaultListModel 일 수 있습니다. 모델을 JList에 명시 적으로 설정해야합니다. 그래서 (감사 @kleopatra으로 언급하기) : DefaultListModel의 remove...
여러 가지 방법이 있습니다
DefaultListModel model = (DefaultListModel) jlist.getModel();
int selectedIndex = jlist.getSelectedIndex();
if (selectedIndex != -1) {
model.remove(selectedIndex);
}
. 그런데 이것은 API (ListModel)에 직접적인 해결책이 없기 때문에 좋은 질문입니다.
인덱스를 가져 오지 않고 선택한 항목 자체를 가져온 다음 Object 매개 변수를 사용하는 모델의 removeElement 메서드를 호출합니다. –
에 동의 : ListModel은 모든 뷰 - 컬렉션 인터페이스 중에서 가장 작습니다 (변경 가능하거나 수정할 수 없음) -하지만 OP 문제는 아닙니다 : 튜토리얼 장 (여기에서와 같은 샘플을 보여줍니다 - 마이너스 선택되고있는 것을 확인)주의 : JList의 기본 모델은 DefaultListModel이 아니며 명시 적으로 설정해야합니다. – kleopatra
JList
구성 요소에는 목록 모델이 지원됩니다. 따라서 보기보기에서 항목을 제거하는 유일한 권장 방법은 모델에서 해당 항목을 삭제하고보기를 새로 고치는 것입니다.
그가 DefaultListModel을 사용하고 있다면 가능성은 높습니다.), 자동으로 수행되어야하므로보기를 새로 고칠 필요가 없습니다. –
이것은 일반적인 질문에 대한 다소 일반적인 대답이었습니다. –
([DefaultListModel] (http://docs.oracle.com/javase/7/docs/api/javax/swing/DefaultListModel.html) 개체 일 수 있음) JList의 모델을 가져 와서 선택된 개체를 삭제하십시오 항목을'removeElement (Object obj)'메소드를 통해 모델로부터 제거한다. –
이 항목에 대한 표준 Java [Swing tutorial] (http://docs.oracle.com/javase/tutorial/uiswing/components/list.html#mutable)를 참조하십시오. – DNA
@JoopEggen : 저는 유권자가 아닙니다. 그게 네가 묻는거야.하지만 나는 네가 한가지 간단한 대답이 있다고 생각한다는 것에 동의하지 않는다. JList (인덱스가 아님)에서 선택한 객체를 가져오고 null이 아닌 경우 객체를 취하는 모델의 remove 메소드를 호출합니다. 즉, removeElement (obj). –