2015-01-11 3 views
-1

Я пытаюсь использовать общий ActionListener, который делает что-то в comboBox, который вызвал его, используя Java и Swing.Как получить доступ к источнику прослушивателя

Есть ли способ получить доступ к источнику ActionEvent и получить его как comboBox, чтобы получить доступ к его методам, таким как getSelectedIndex() или setSelectedIndex()? Будет ли это применимо и к FocusListener?

спасибо.

РЕДАКТИРОВАТЬ:

Пример:

private class CbModalidadFocusListener extends FocusAdapter { 
    @Override 
    public void focusGained(FocusEvent e) { 
     selection = someComboBox.getSelectedIndex(); 
    } 
} 

желаемое поведение было бы нечто вроде:.

выбора = e.getSource() getSelectedIndex();

EDIT2:

ОТВЕТ:

Как сказал Yole, литая необходимо так:

((JComboBox) e.getSource()) .getSelectedIndex()

+1

Покажите нам какой-нибудь код? –

+0

Ваш вопрос нечеткий. Не могли бы вы привести минимальный пример того, что не работает и объяснить на примере? –

ответ

0

Все AWT события имеют метод getSource(), который возвращает то, что вам нужно: http://docs.oracle.com/javase/7/docs/api/java/util/EventObject.html#getSource%28%29

+0

Да, но мне кажется, мне нужно уточнить это, чтобы использовать методы при возврате getSource(). – Erchz

+0

Да, вам нужно передать результат getSource() в определенный тип управления. AWT API был разработан до того, как у Java появились дженерики, поэтому нет решения, позволяющего избежать приведения в действие. – yole

Смежные вопросы