我想創建一個簡單的GUI窗體,它只有2個元素 - 一個簡單的標籤和一個按鈕。顯示在按鈕上的文字是'開始'。標籤默認顯示0。Java - 更新在Swing中製作的GUI
當我點擊開始按鈕,下列行爲發生:
- 計數器將啓動由1處從0每1秒遞增。
- 「開始」按鈕上顯示的文本應更改爲「停止」。
- 當我再次點擊相同的按鈕(現在顯示標題爲停止)時,增量應停止。
- 按鈕上的文字應改爲開始。等等...
我正在Netbeans中開發我的應用程序。
如上圖所示,有2個.java文件
AGC.java的內容是:
public class AGC extends javax.swing.JFrame
{
public AGC()
{
initComponents();
}
public static void main(String args[])
{
java.awt.EventQueue.invokeLater(new Runnable() {
public void run()
{
new AGC().setVisible(true);
}
});
}
private javax.swing.JButton btnStartStop; // name of start stop button
private javax.swing.JLabel lblCounter; // name of the label
}
Main.java的內容是:
public class Main
{
public static int count = 0;
public static boolean started = false;
}
我想實現以下邏輯:
private void btnStartStopMouseClicked(java.awt.event.MouseEvent evt)
{
if (Main.stared == true)
{
// logic to start counting
}
else
{
// logic to stop counting
}
}
我的問題是這樣的:
- 如何更新lblCounter每1秒?
- 我應該實現什麼邏輯來啓動1秒計時器以及如何訪問該方法中的lblCounter?
請幫忙。工作代碼將非常感激。提前致謝。
周杰倫
如果我缺少任何相關信息,請將其還原。我將能夠提供相同的。 – Jay 2012-03-17 16:42:32
我已經添加了工作示例代碼,這是你想要的嗎? – 2012-03-17 17:02:28