【发布时间】:2010-12-01 22:51:01
【问题描述】:
我已经编写了两个获取和返回字符串的方法。一个人从英语转换为猪拉丁语,反之亦然。我有两个 JTextField(一个是英语,另一个是 Piglatin- 用于用户输入)。同样,两个 JButton:“To English”和“To Pig Latin”。我很困惑如何使用动作监听器。看起来可以让一个 ActionListener 执行您想要“单击”的所有内容,但是我对它如何知道您按下了哪个按钮感到困惑。我本能地想为每个按钮创建两个 ActionListener,当单击按钮时,将执行相应的代码。
有人可以向我展示和/或解释这一切是如何运作的吗? 到目前为止我如何理解一切的总结:
- 在 JTextField 中输入英文单词
- 点击“To Pig Latin”按钮
- ActionListener 不知何故知道“To Pig Latin”按钮被单击,并以 JTextField 文本作为参数执行 toPigLatin() 方法。 (假设 JTextField 输入自动被认为是 String 类型,真的还没有那么远。
- 从该方法返回的字符串输出到 Pig Latin JTextField 以供用户查看。
谢谢大家!
我找到了我要找的东西。抱歉,我将它发布在错误的论坛上,感谢您将它迁移到它所属的地方......我打算在这里发布它! :) 对于任何试图弄清楚如何使每个按钮在单击时执行特定代码块的人,请使用以下命令:[ActionEvent].getActionCommand().equals("[Name of Button]")强> 如果有人感兴趣,这是我的最终解决方案:
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));
}
再次感谢所有试图帮助我的人!
【问题讨论】:
-
更适合Stack Overflow。
标签: java user-interface text button