A. 如何用java实现一个计时器
怎么还没人回答,看不过去了,用不用多线程根据你的程序需要,
import java.io.IOException;
import java.util.Timer;
public class TimerTest {
public static void main(String[] args){
Timer timer = new Timer();
timer.schele(new MyTask(), 1000, 2000);//在1秒后执行此任务,每次间隔秒,如果传递一个Data参数,就可以在某个固定的时间执行这个任务.
while(true){//这个是用来停止此任务的,否则就一直循环执行此任务了
try {
int ch = System.in.read();
if(ch-'c'==0){
timer.cancel();//使用这个方法退出任务
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
static class MyTask extends java.util.TimerTask{
@Override
public void run() {
//你要进行的操作
}
}
}
大概就是这样了,在根据你的业务需要查一下资料,就可以搞定了!
B. 用java编写一个计数器或计时器
import java.io.IOException;
import java.util.Timer;
public class TimerTest {
public static void main(String[] args){
Timer timer = new Timer();
timer.schele(new MyTask(), 1000, 2000);//在1秒后执行此任务,每次间隔2秒,如果传递一个Data参数,就可以在某个固定的时间执行这个任务.
while(true){//这个是用来停止此任务的,否则就一直循环执行此任务了
try {
int ch = System.in.read();
if(ch-'c'==0){
timer.cancel();//使用这个方法退出任务
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
static class MyTask extends java.util.TimerTask{
@Override
public void run() {
//你要进行的操作
}
}
}
C. JAVA 计时器 求大神
//声明图形界面元素
privateJLabellab_time;
privateJButtonbut_start;
privateJButtonbut_end;
privateJButtonbut_reset;
//初始化界面元素,布局,注册时间监听器
setLayout(null);
setSize(400,300);
lab_time=newJLabel("");
lab_time.setBounds(0,10,100,50);
but_start=newJButton("开始");
but_start.setBounds(100,10,100,50);
but_end=newJButton("停止");
but_end.setBounds(200,10,100,50);
but_reset=newJButton("重置");
but_reset.setBounds(300,10,100,50);
myThread=newThread();
setTitle("计时器");
add(lab_time);
add(but_start);
add(but_end);
add(but_reset);
but_start.addActionListener(this);
but_end.addActionListener(this);
but_reset.addActionListener(this);
//事件处理方法
if(event.getSource()==but_start)
{
myThread.start();
}
if(event.getSource()==but_end)
{
myThread.stop();
}
if(event.getSource()==but_reset)
{
hour=0;
min=0;
sec=0;
this.showTime();
}
//线程处理代码
while(true)
{
try{
Thread.sleep(1000);
sec++;
if(sec==60)
{
min++;
sec=0;
}
if(min==60)
{
hour++;
min=0;
}
this.showTime();
}catch(Exceptione){
e.printStackTrace();
}
}
//设置窗体上显示时间
lab_time.setText(strTime);
好不容易打出来的,不知道你考试结束了嘛、希望能采纳吧!
D. java 毫秒倒计时器 想编写一个方法,其中就有一个参数 倒计时多长时间
import java.awt.BorderLayout;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.SwingConstants;
public class NanoTimeframe extends JPanel
{
private static final long serialVersionUID = -6135068834705503622L;
private JLabel lblTime;
private long start = 0L; // 从0毫秒开始
private static long MAXTIME = 5000L; // 5秒后结束
private boolean begin = false;
private JTextField setTime;
public NanoTimeframe()
{
this.lblTime = new JLabel("单击开始");
this.setTime = new JTextField();
System.out.println("1");
this.lblTime.setFont(new Font("Monospaced", Font.BOLD, 60));
this.lblTime.setHorizontalAlignment(SwingConstants.CENTER);
this.lblTime.addMouseListener(new MouseAdapter() {
public void mouseClicked(MouseEvent e)
{
MAXTIME = Long.parseLong(setTime.getText());
begin = true;
lblTime.setText(timeStr(start));
}
});
setLayout(new BorderLayout());
add(lblTime, BorderLayout.CENTER);
add(setTime, BorderLayout.NORTH);
}
private String timeStr(long time)
{
StringBuffer timeBuffer = new StringBuffer();
long miu = time / (60 * 1000);
time -= miu * 60 * 1000;
long se = time / 1000;
time -= se * 1000;
long mi = time % 1000;
timeBuffer.append(miu < 10 ? ("0" + miu) : miu);
timeBuffer.append(".");
timeBuffer.append(se < 10 ? ("0" + se) : se);
timeBuffer.append(".");
timeBuffer.append(mi < 10 ? ("00" + mi) : (mi < 100 ? ("0" + mi) : mi));
return timeBuffer.toString();
}
@Override
public void paintComponent(Graphics page)
{
if (!begin) return;
super.paintComponent(page);
if (start >= MAXTIME)
{
lblTime.setText("Bomb!!!");
return;
}
start += 1;
lblTime.setText(timeStr(start));
}
public static void main(String [] args){
JFrame jf = new JFrame();
jf.setResizable(false);
jf.setBounds(0, 0, 460, 330);
jf.setLocationRelativeTo(null);
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jf.add(new NanoTimeframe());
jf.setVisible(true);
}
}
请给分 改得辛苦上面输入毫秒后计时