[英]Displaying a timer in a panel using JLabel
因此,我正在與同班同學一起編寫程序,我們在GUI方面沒有太多經驗,但是我想做的是在側面板上顯示用戶完成拼圖所需的時間的計時器(這是一個主要游戲區域以及旁邊帶有按鈕等的側面板),但我不確定如何使JLabel
隨用戶解決難題所需的時間不斷更新。 我不知道如何使用計時器對象來執行此操作,因此我現在嘗試僅使用System.nanoTime()
。
1)如果我使用計時器對象,該在Action偵聽器參數中使用什么? 這將調用timerLabel.updateUI();
每次(假設我已經有actionPerformed方法,其中已經包含那行代碼)? 使用計時器對象時,創建它時需要在Jlabel參數中放入什么?
2)如果不使用計時器對象,什么是不斷更新時間的最佳方法?
//Timer timer = new Timer(1000, new ActionListener(??));
//timer.start();
long start = System.nanoTime();
String time = new java.text.SimpleDateFormat("ms").format(new java.util.Date(start/1000000));
timerlabel = new JLabel(time);
sideMenu.add(timerlabel);
timerlabel.updateUI();
您似乎不了解如何使用ActionListener
。 ActionListener
不帶任何參數,因為它是一個接口。 相反,您重寫其actionPerformed
方法。 您可能正在尋找的是:
Timer timer = new Timer(1000, new ActionListener() {
@Override
public void actionPerformed(ActionEvent ev) {
// Whatever action you want to happen every 1000 milliseconds
timerLabel.setText(new java.text.SimpleDateFormat("ms")
.format(new java.util.Date(System.nanoTime()/1000000)));
}
});
timer.start();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.