基本上,我是一个新手,创建了一个程序,该程序会给出问题,随机化正确答案的索引,然后在 JFrame 中显示问题。 我可以轻松执行添加到此 ActionListener 方法中的任何任务:
@Override
public void actionPerformed(ActionEvent e) {
if (e.getActionCommand().equals("1")) {
System.out.println("whatever");
JOptionPane.showMessageDialog(null, "correct!",
"", JOptionPane.PLAIN_MESSAGE);
} else {
JOptionPane.showMessageDialog(null, "wrong!",
"", JOptionPane.PLAIN_MESSAGE);
}
}
程序从主方法中给出的 setActionCommand 中获取“1”,但我希望监听器返回到主方法,当单击正确的单选按钮时,也会显示下一个问题。 主要方法如下:
while (therearestillquestionsleft) { /* do everything */ }
所以我需要程序在循环中等待,直到单击正确的答案。 我怎样才能实现这一目标?
最佳答案
正如其他人指出的那样,循环等待并不是处理 Java 中等待 GUI 用户输入的方法。
您可以重新设计您的程序,使其看起来像这样:
public static void main(String args[]) {
// [...]
nextQuestion();
}
public static void nextQuestion() {
if (questionsLeft) {
// "do everything", i.e. show next question
}
}
然后,您只需从 ActionListener
中调用 nextQuestion()
即可。
关于java - 如何将信息从重写的 ActionListener 方法发送到 Java 中的 main 方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16178080/