谁能帮我用java多线程设计一个可多个同时使用的计时器吗?

运用JAVA中的线程技术,在设计一个用户界面的基础上,设计计数器(可多个同时使用)感激不尽啊!!!!看来我遇贵人了,呵呵~不过大恩人啊,能不能在界面上稍作改动一下呢,就是... 运用JAVA 中的线程技术,在设计一个用户界面的基础上,设计计数器(可多个同时使用)
感激不尽啊!!!!看来我遇贵人了,呵呵~不过大恩人啊,能不能在界面上稍作改动一下呢,就是把计时器的每个小计时器设计成三个按钮:开始_暂停_置零_00:00:00。假如还可用图形的形式显示时间及提示音提示,那就perfect了!!!!
展开
 我来答
akfucc
2010-12-28 · TA获得超过5454个赞
知道大有可为答主
回答量:1771
采纳率:0%
帮助的人:2195万
展开全部
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;

public class FrameTest extends JFrame {
public FrameTest() {
super("Swing 例子");
this.setSize(300, 200);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

this.setLayout(new FlowLayout());
this.add(new CounterJButton());
this.add(new CounterJButton());
this.add(new CounterJButton());
this.setVisible(true);
}

static class CounterJButton extends JButton implements Runnable,
ActionListener {
private boolean started = false;
private int count = 0;

public CounterJButton() {
super("按我开始计数");
this.addActionListener(this);
}

public void run() {
while (started) {
this.setText("按我暂停 " + String.valueOf(count++));
try {
Thread.sleep(100);
} catch (InterruptedException e) {
}
}
}

public void actionPerformed(ActionEvent e) {
if (started) {
this.started = false;
this.setText("按我恢复计数 " + count);
} else {
this.started = true;
new Thread(this).start();
}
}
}

public static void main(String[] args) {
new FrameTest();
}
}
匿名用户
2010-12-28
展开全部
可以用多线程设计,搞三个按钮,每点击一次增加一个线程。把增加计时器线程部分写入actionPerformed中,不过多线程本身就是用sleep()来实现的,在sleep参数中你可以设定少一点的毫秒数,好像不是很理想,时间不会很精确。多线程跟适合于多个同时进行的动作,或动画和电源。当然也可用于类似会计收银买票这些同步。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式