我为学生创建了关于试卷的申请。在此应用程序中, JForm 和计时器持续10秒。在 JForm 中有Jtextfield1, JLabel1 和JButton。当学生按下按钮时, JLabel1 将显示倒数从10,9到0。然后, JTextField1 将无法编辑或输入任何数据。并且需要获得“timeup”的消息
以下是我试过的代码。但我没有得到我正在考虑的正确方法。
for(int i= 10; i>=0; i--)
{
if(i==0)
{
jTextField1.enableInputMethods(false);
JOptionPane.showMessageDialog(null, "time up");
}
else
{
jLabel3.setText(""+i);
}
}
答案 0 :(得分:0)
您可以使用Swing Timer来执行此操作。
E.g:
private void startBtnActionPerformed(ActionEvent evt) {
startBtn.setEnabled(false);
textField.setEditable(true);
timeLbl.setText("10");
Timer timer = new Timer(1000, new ActionListener() {
int t = 9;
@Override
public void actionPerformed(ActionEvent e) {
// each second this function will be called
timeLbl.setText("" + t);
if (t == 0) {
startBtn.setEnabled(true);
textField.setEditable(false);
timeLbl.setText("");
JOptionPane.showMessageDialog(Frame.this, "time up");
((Timer) e.getSource()).stop();// Stop the timer
}
t--;
}
});
timer.start();// Start the timer
}