Как обрабатывать несколько jLists с одним ListSelectionEvent - PullRequest
1 голос
/ 25 сентября 2011

В моем классе три jList frmMain.Я создал класс под названием ListActions.Код ниже работает для одного jList.Возвращает значение, выбранное для одного jList.

Как отличить три других jList?Или мне нужно создать отдельный класс для каждого слушателя?

Мне нужно выполнить действие, в соответствии с которым был нажат 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);

    }
}

}

Спасибо,Jason

1 Ответ

2 голосов
/ 25 сентября 2011

JList наследуется от Компонент .

Поэтому вы можете использовать метод getName () , чтобы получить имя вашего Component и узнать, какой из них был вызван.

...