首页 > 代码库 > java多线程制作计时器
java多线程制作计时器
基本思路:
在类中创建thread 供按钮监听器调用。
界面设计:
代码:
1 package thread; 2 3 import java.awt.*; 4 import java.awt.event.*; 5 6 import javax.swing.*; 7 8 public class Threadtest extends JFrame implements Runnable{ 9 JFrame frm=new JFrame("watch");10 JPanel bottom=new JPanel();11 JPanel mid=new JPanel();12 JLabel h=new JLabel("0");13 JLabel biao=new JLabel(":");14 JLabel s=new JLabel("00");15 JButton hajime=new JButton("开始计时");16 JButton pause=new JButton("暂停");17 JButton tozero=new JButton("清零");18 Thread t=new Thread(this); 19 private int i=0,j=0;20 public void run(){21 try22 {23 while(true){24 Thread.sleep(100);25 i++;26 if(i>=1&&i<10)27 {28 s.setText("0"+i);29 }30 else if(i>=10&&i<60)31 s.setText(""+i);32 if(i==60)33 {34 i=0;35 j++;36 s.setText("00");37 h.setText(""+j);38 }39 }40 }catch(Exception e){41 System.out.println("");42 }43 }44 public Threadtest()45 {46 frm.setLayout(new BorderLayout());47 frm.setBounds(200, 200, 300, 150);48 frm.setVisible(true);49 frm.add("South",bottom);50 frm.add("Center",mid);51 52 mid.add(h);53 mid.add(biao);54 mid.add(s);55 h.setFont(new Font("Consulas",Font.PLAIN,36));56 biao.setFont(new Font("Consulas",Font.PLAIN,36));57 s.setFont(new Font("Consulas",Font.PLAIN,36));58 bottom.add(hajime);59 bottom.add(pause);60 bottom.add(tozero);61 62 63 hajime.addActionListener(new ActionListener(){64 public void actionPerformed(ActionEvent e){65 if(t.isAlive())66 t.resume();67 else t.start();68 }});69 pause.addActionListener(new ActionListener(){70 public void actionPerformed(ActionEvent e){71 t.suspend();72 }});73 tozero.addActionListener(new ActionListener(){74 public void actionPerformed(ActionEvent e){75 h.setText("0");76 s.setText("00");77 i=0;78 j=0;79 }80 });81 }82 83 public static void main(String[] args){84 new Threadtest();85 }86 }
java多线程制作计时器
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。