Я написал два метода, которые принимают и возвращают строку.Один переводит с английского на латинский свиной и наоборот.У меня есть два JTextFields (один английский и другой Piglatin- для ввода пользователя).Аналогично, два JButton: «To English» и «To Pig Latin».Я запутался, как использовать слушателей действия.Похоже, можно просто заставить один ActionListener выполнять все, что вы хотите, «по нажатию», однако я не совсем понимаю, откуда он знает, какую кнопку вы нажали.Я инстинктивно хочу создать два ActionListener для каждой кнопки, чтобы при нажатии кнопки выполнялся соответствующий код.
Может кто-нибудь показать и / или объяснить мне, как все это работает?Краткое описание того, как я все понимаю до сих пор:
- Введите английские слова в JTextField
- Нажмите кнопку «To Pig Latin»
- ActionListener каким-то образом знает «To Pig Latin»"нажата кнопка и выполняет метод toPigLatin () с текстом JTextField в качестве параметра.(Предполагая, что входные данные JTextField автоматически считаются типом String, на самом деле это еще далеко).
- Строка, возвращаемая этим методом, выводится в JTextField Pig Latin для просмотра пользователем.
Спасибо всем!
Я нашел то, что искал.Извините, я разместил сообщение не на том форуме, и спасибо, что перенесли его сюда, куда он принадлежит ... Я хотел опубликовать это здесь!:) Для тех, кто пытается выяснить, как сделать так, чтобы каждая кнопка при нажатии выполняла определенный блок кода, используйте следующее: [ActionEvent] .getActionCommand (). Equals ("[Имя кнопки]") Вот мое окончательное решение, если кому-то интересно:
public void actionPerformed(ActionEvent e) {
if (e.getActionCommand().equals("To Pig Latin")){
String english = English.getText();
PigLatin.setText(englishToPigLatin(english));
}
if (e.getActionCommand().equals("To English")){
String piglatin = PigLatin.getText();
English.setText(pigLatinToEnglish(piglatin));
}
String piggyCount = Integer.toString(pigCount);
countP.setText("Number of Successful Word Translations: English: "+piggyCount+" ");
String englishyCount = Integer.toString(englishCount);
countE.setText(String.format("Pig-Latin: "+englishyCount));
}
Еще раз спасибо всем, кто пытался мне помочь!