2011-09-04 6 views
2

나는 두 개의 JList을 가지고 있습니다.Jlist에 요소를 추가하십시오.

목록 (A)는 이러한 요소를 갖는다 : 비어위한

  • 1
  • 78
  • item4

리스트 B를.

내 프레임에는 두 개의 목록과 버튼 이 있습니다.을 확인하십시오. 버튼을 클릭하면 List A의 선택된 항목이 정수인지 확인됩니다. 그렇다면 선택한 항목을 목록 B로 옮기고 목록 A에서 제거해야합니다.

버튼을 클릭하면 항목이 으로 복사되고이 복사되지만 이전 항목을 선택하면 내가 원하지 않는 새 항목으로 대체하십시오.

어떻게 다른 항목으로 항목을 이전 (추가)하고 첫 번째 항목에서 제거 할 수 있습니까?이 방법으로 마침내 새 항목으로 대체되지 않고 모든 항목의 목록을 얻었습니다.

답변

5

DefaultListModel을 사용하십시오. 이제

DefaultListModel dlmA = new DefaultListModel(); // For list A 
dlmA.addElement(1); 
dlmA.addElement("two"); 
dlmA.addElement(78); 
dlmA.addElement("item4"); 

listA.setModel(dlmA); 

, 당신의 명부 B.

DefaultListModel dlmB = new DefaultListModel(); // For list B 
listB.setModel(dlmB); 

당신이 당신의 두 번째 목록에 항목을 추가 단지 DefaultListModeldlmB에 추가하려는 경우에 대해 동일합니다. 이는 작업 클래스에서 dlmB에 대한 참조를 유지해야한다는 것을 의미합니다. 이렇게하면 단추의 ActionListener 내에 요소를 추가 할 수 있습니다.

public void actionPerformed(ActionEvent evt) 
{ 
    // Perform your checks. If you want to add it to list B, use: 
    dlmB.addElement(yourNewElem); 
} 
+0

감사합니다. – JaX

관련 문제