我正在尝试创建一个简单的GUI表单,只有两个元素 - 简单的标签和按钮。按钮上显示的文本为“开始”。默认情况下,标签显示0。
当我点击“开始”按钮时,将执行以下操作:
如上图所示,有2个.java文件
AGC.java的内容是:
我希望实现以下逻辑:
当我点击“开始”按钮时,将执行以下操作:
- 计数器将从0开始每1秒递增1。
- 显示在“开始”按钮上的文本将更改为“停止”。
- 再次点击同一按钮(现在显示为“停止”),递增将停止。
- 按钮上的文本将更改为“开始”,依此类推...
如上图所示,有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
}
}
我的问题是:
- 如何在每1秒钟更新lblCounter?
- 我应该实现什么逻辑来启动1秒的计时器,以及如何在该方法中访问lblCounter?
请帮忙解决。非常感谢提供工作代码。谢谢。
Jay