count计时器java_创建一个Count Up计时器以在Java中断

我正在尝试为我正在编写的拼图应用程序实现基于计时器的评分系统.

有人可以提供一个示例案例,在摇摆中创建一个JLabel或Panel,包含一个可见的计数计时器(从0开始的秒数),在一个方法的调用中停止.并返回其价值.

例:

小时:分钟:秒

[00:00:00]

[00:00:01] ..等等.覆盖以前的条目.

谢谢

编辑:这是由trashgod链接的示例代码的改编:

ClockExample,

它使用简单的if语句来显示小时分钟和秒……

import java.awt.EventQueue;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.awt.event.ItemEvent;

import java.awt.event.ItemListener;

import java.text.DecimalFormat;

import java.text.NumberFormat;

import javax.swing.JFrame;

import javax.swing.JPanel;

import javax.swing.JTextField;

import javax.swing.JToggleButton;

import javax.swing.Timer;

/** @see https://stackoverflow.com/questions/5528939*/

class ClockExample extends JFrame {

private static final int N = 60;

private static final String stop = "Stop";

private static final String start = "Start";

private final ClockListener cl = new ClockListener();

private final Timer t = new Timer(1000, cl);

private final JTextField tf = new JTextField(8);

public ClockExample() {

t.setInitialDelay(0);

JPanel panel = new JPanel();

tf.setHorizontalAlignment(JTextField.RIGHT);

tf.setEditable(false);

panel.add(tf);

final JToggleButton b = new JToggleButton(stop);

b.addItemListener(new ItemListener() {

@Override

public void itemStateChanged(ItemEvent e) {

if (b.isSelected()) {

t.stop();

b.setText(start);

} else {

t.start();

b.setText(stop);

}

}

});

panel.add(b);

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

this.add(panel);

this.setTitle("Timer");

this.pack();

this.setLocationRelativeTo(null);

this.setVisible(true);

}

public void start() {

t.start();

}

private class ClockListener implements ActionListener {

private int hours;

private int minutes;

private int seconds;

private String hour;

private String minute;

private String second;

@Override

public void actionPerformed(ActionEvent e) {

NumberFormat formatter = new DecimalFormat("00");

if (seconds == N) {

seconds = 00;

minutes++;

}

if (minutes == N) {

minutes = 00;

hours++;

}

hour = formatter.format(hours);

minute = formatter.format(minutes);

second = formatter.format(seconds);

tf.setText(String.valueOf(hour + ":" + minute + ":" + second));

seconds++;

}

}

public static void main(String[] args) {

EventQueue.invokeLater(new Runnable() {

@Override

public void run() {

ClockExample clock = new ClockExample();

clock.start();

}

});

}

}

再次感谢所有人!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值