在此代码while循环应该检查的时间,并且如果该时间等于下午7时,则显示一个消息框。爪哇While循环检查的时间,但不执行方法
public void actionPerformed(ActionEvent arg0) {
Enable.setEnabled(false);
Date d = new Date();
int hrs = d.getHours();
int mins = d.getMinutes();
while((1 + 1) == 2) {
if(hrs == 19 && mins == 21) {
JOptionPane.showMessageDialog(frame,
"It's 7:21 PM!",
"Alerts",
JOptionPane.WARNING_MESSAGE);
System.exit(0);
break;
}
}
}
按下按钮将执行该代码。如果您在下午7点之前按下按钮,GUI将会冻结(我不关心这个),当它变成下午7点时,它不会显示消息框。如果您单击按钮时,它为下午7点,那么它会显示消息框...
你在哪里把数值放入变量“hrs”和“mins”中?当程序进入while循环时,它们将保留它们拥有的任何值,并且永远不会更新。 –
也是按下按钮,你推门,如果小时从来没有19那么它不会改变,直到你在另一个线程运行 – nachokk
当你期待1 + 1不等于2? (我意识到你正在尝试循环,直到休息,这是一个可怕的方式来做到这一点。) – roippi