#java #swing #jbutton
#java #swing #jbutton
Вопрос:
Я пишу небольшое Java-приложение. У меня есть несколько кнопок JB. Код для каждой кнопки точно такой же, поэтому мне нужен только один ActionListener. Но в этом ActionListener мне нужно вызвать «setText ()» для соответствующей кнопки, которая была нажата. Возможно ли это? Как бы мне этого добиться?
Я попробовал следующее:
private void btnClicked(java.awt.event.ActionEvent evt) {
(JButton)evt.setText("Hello");
}
Но это не работает — там написано «Не удается найти символ».
Заранее спасибо 😉
Ответ №1:
(JButton)evt.setText("Hello");
У ActionEvent
класса нет метода getText() .
Вам необходимо вызвать getSource()
метод для доступа к кнопке, затем вы можете вызвать метод getText() кнопки.
Мне всегда нравится делать это долго, чтобы не допускать ошибок:
JButton button = (JButton)evt.getSource();
button.setText( "Hello" );
но короткий путь был бы:
((JButton)evt.getSource()).setText("Hello");