我正在创建带有多个按钮的GUI程序。我目前只能使用其中一个按钮。这是我的Button Listener类。我希望能够使用“测试”按钮,然后再使用“是”或“否”按钮。让我知道您是否需要查看更多代码。
public class ButtonListener implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==TestButton)
{
TestWord = (Text_Input.getText());
StringBuilder RevTestWord = new StringBuilder();
RevTestWord.append(TestWord);
RevTestWord = RevTestWord.reverse();
DisplayText = "Is " + RevTestWord + " a real word?";
Test_Anadrome.setText(DisplayText);
if(e.getSource()==YesButton)
{
DisplayText = "Word added to Anadrome list.";
Test_Anadrome.setText(DisplayText);
}
if(e.getSource()==NoButton)
{
DisplayText = "Type a different word and press the 'Test Word' Button.";
Test_Anadrome.setText(DisplayText);
}
}
}
}
对不起,我刚接触Java。
答案 0 :(得分:0)
看起来File file = new File(jar.destinationDirectory.get().asFile, "foo.txt");
和YesButton
的if / else语句在NoButton
的if语句中,因此仅在{{ 1}}。尝试将此代码移至if语句之外:
TestButton
答案 1 :(得分:0)
您需要将所有测试都置于同一级别。嵌套的if会引起问题。并记住使用if / else。如果前一个检查成功,则继续进行其他检查毫无意义。
您还可以设置ActionCommand
,它是一个字符串。对于使用actionListener
的组件,您可以执行例如button.setActionCommand("mycommand")
。
然后在actionPerformed(ActionEvent e)
中可以
String cmd = e.getActionCommand();
这使您可以在按钮或其他组件之间进行区分,而无需直接访问它们的实例。
如果您未设置ActionCommand,则默认为按钮的文本。