2011-09-25 6 views
1

내 클래스에 세 개의 jLists가 있습니다 frmMain. ListActions이라는 클래스를 만들었습니다. 아래의 코드는 하나의 jList에서 작동합니다. 하나의 jList에 대해 클릭 한 값을 반환합니다.하나의 ListSelectionEvent로 여러 개의 jLists를 처리하는 방법

어떻게 세 개의 다른 jList를 구별합니까? 또는 각 수신기마다 별도의 클래스를 만들어야합니까?

jList를 클릭했을 때의 동작을 수행해야합니다. 제이슨

- 나는 ...

class ListActions implements ListSelectionListener { 

public void valueChanged(ListSelectionEvent evt) { 

    if (!evt.getValueIsAdjusting()) { 

     JList list = (JList) evt.getSource(); 

     int iSelectedDatabase = list.getSelectedIndex(); 
     Object objSelectedDatabase = list.getModel().getElementAt(iSelectedDatabase); 
     String sSelectedDatabase = objSelectedDatabase.toString(); 


     JOptionPane.showConfirmDialog(null, sSelectedDatabase); 

    } 
} 

}

감사합니다, 내가 클릭 된 JList의의 변수 이름에 액세스 할 수 있는지 확인하기 위해 시도하지만,이 작업을 수행 할 수있는 방법을 찾을 수 없습니다

답변

2

JListComponent에서 상속됩니다.

따라서 getName() 메서드를 사용하여 Component의 이름을 가져올 수 있으며 어느 것이 호출되었는지 알 수 있습니다.

+0

감사합니다. 이전에 시도했지만 실수로 .toString()을 사용했기 때문에 오류가 발생했습니다. 이제 작업 중입니다. – jason

관련 문제