我正在尝试使用NetBeans的设计模式创建JForm,然后在源模式下开发它。我的表单中有两个按钮,我想在generateNumber
按钮执行任务之前检查是否单击makeGuess
按钮。以下是相关的代码行。
private void generateNumberActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
}
private void makeGuessActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
try {
if (!generateNumber.getModel().isPressed()) {
throw new GameNotStartedException();
}
} catch (GameNotStartedException ex) {
System.out.println(ex);
JOptionPane.showMessageDialog(this, "Generate a number first");
}
}
我的问题是该程序始终属于GameNotStartedException
,无论我点击generateNumber
按钮还是我没有。有人可以帮帮我吗?
答案 0 :(得分:1)
我认为问题在于generateNumber.getModel().isPressed()
本身的用法。这会告诉您当前是否按下按钮。
正如您在方法makeGuessActionPerformed
中所拥有的那样,它是这样的:
makeGuessActionPerformed
你可以,例如使用布尔值来跟踪状态。布尔值反映了按钮generateNumbers是否已被按下。
makeGuessActionPerformed
中,您可以检查布尔值。如果为false,则抛出异常。否则继续执行。