我正在编写一个java应用程序来跟踪辩论期间发生的所有事情。
辩论的任何一点。我想向代表发出警告,一旦他/她有3个警告,他/她必须离开房间5分钟。一旦5分钟过去,计时器应该停止,程序应该告诉我允许代表重新进入。
我可以随时添加和删除代理,我想为每个代表提供一个计时器。
为了解决这个问题,我试图创建一个定时器数组wt [],其中定时器数组的大小由委托量(z)给出。
到目前为止,我有这段代码,但它不起作用,我真的不知道为什么。
Timer wt[] = new Timer[z];
wt[z] = new Timer(1000, warningActions);
//Warning Timer:
public int[] warningTimer=new int[]{5, 30, 60};
Timer wt[] = new Timer[z];
private int wtm, wts, wtsec, wtmin;
private ActionListener warningActions = new ActionListener(){
@Override
public void actionPerformed(ActionEvent ae){
wtm=(warningTimer[wtime]-wtmin-1);
wts=(59-wtsec);
wtsec++;
if(wtsec==60){
wtsec=0;
wtmin++;
}
updateWarningTimer();
}
};
private void updateWarningTimer(){
String warningTime=(wtm<=9?"0":"")+wtm+":"+(wts<=9?"0":"")+wts;
if(warningTime.equals("00:00")){
wt[z].stop();
wts=0;
wtsec=0;
wtmin=0;
Toolkit.getDefaultToolkit().beep();
JOptionPane.showMessageDialog(null,"The delegate of "+delegateWarning[wdisplay]+" can come back in.");
}
}
当我点击“计时器”按钮时,会弹出一个JOptionPane.showInputDialog并要求我输入z,然后代码应该运行wt [z] .start;
如果你们能帮助我或帮助我解决问题,我真的很感激。