0
我必須在網站的所有註冊頁面上顯示倒數計時器(可能有3個網頁用於註冊)。 假設完成註冊的時間限制爲1小時,並且用戶花費10分鐘完成第一個網頁上的字段,當他點擊下一個按鈕進入第二個網頁 計時器應該顯示從49分鐘開始的時間。我如何將這個功能添加到我現有的代碼中。倒數計時器jn Java
這是我倒數計時器的代碼。
public class CountdownTimer extends JLabel implements ActionListener {
private static final long serialVersionUID = 1L;
private long count;
private long timerStart;
private DateFormat dateFormat;
javax.swing.Timer timer = new javax.swing.Timer(1000, this);
public CountdownTimer(int minutes, int seconds) {
// suppose to show as in 30 MIN 30 SEC.
super(" ", JLabel.CENTER);
Calendar cal = Calendar.getInstance();
cal.set(Calendar.MINUTE, minutes);
cal.set(Calendar.SECOND, seconds);
count = cal.getTime().getTime();
dateFormat = new SimpleDateFormat("mm:ss");
timer.start();
timerStart = System.currentTimeMillis();
long elapsedTime = System.currentTimeMillis()-timerStart;
System.out.println(elapsedTime);
}
public void actionPerformed(ActionEvent e) {
// suppose to countdown till 00 MIN 00 SEC
setText(dateFormat.format(count));
count -= 1000;
if (dateFormat.format(count).equalsIgnoreCase("00:00")) {
closeWindow();
}
}
public void closeWindow() {
System.exit(1);
}
public static void main(String[] args) {
JFrame frame = new JFrame();
frame.setTitle("Countdown Timer");
frame.getContentPane().setBackground(Color.white);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(300, 150);
JPanel panel = new JPanel();
JLabel label = new JLabel("Registration closes in: ");
panel.add(label);
JTextField jTextField = new JTextField();
panel.add(jTextField);
CountdownTimer c = new CountdownTimer(00, 60);
frame.getContentPane().add(c);
frame.setVisible(true);
frame.getContentPane().add(panel);
frame.setVisible(true);
}
}
也許你應該查看哪些技術用來創建一個WEB頁面,然後我們可以提供幫助。目前您正在使用Swing(不是WEB) – Dainesch
您是否檢查啓動時的計數是否相等?我打賭elapsedTime總是零,但偶爾1.也許你應該檢查[持續時間](http://docs.oracle.com/javase/8/docs/api/java/time/Duration.html) – matt
你應該使用用於Java Web的動態web項目,而不是swing。如果你使用swing,也許看看mvc模式? –