zoukankan      html  css  js  c++  java
  • 多线程简单运用---时钟的实现

    效果图:

    代码:

    package game;
    
    import java.awt.BorderLayout;
    import java.awt.Color;
    import java.awt.Container;
    import java.awt.Font;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.util.Calendar;
    
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JMenu;
    import javax.swing.JMenuBar;
    import javax.swing.JMenuItem;
    import javax.swing.JOptionPane;
    import javax.swing.JPanel;
    
    public class ShowClock extends JFrame {
    
    	Container c;
    	JMenuBar mb;
    	JMenu JFile,JHelp;
    	JMenuItem mExit,mCopyright;
    	JLabel clock;
    	JPanel pl;
    	public void init(){
    	   c=this.getContentPane();
    	   c.setLayout(new BorderLayout());
    	
    	   mb=new JMenuBar();
    	   c.add(mb,BorderLayout.NORTH);
    	   
    	   JFile=new JMenu("文件(F)");
    	   JHelp=new JMenu("帮助(H)");
    	   mb.add(JFile);mb.add(JHelp);
    	   mExit=new JMenuItem("退出");
    	   mCopyright=new JMenuItem("版权信息");
    	   JFile.add(mExit);JHelp.add(mCopyright);
    	   
    	   mCopyright.addActionListener(new ActionListener(){
    			public void actionPerformed(ActionEvent e){
    			   JOptionPane.showMessageDialog(null, "本游戏由暗伤无痕出品", "版权声明", JOptionPane.INFORMATION_MESSAGE);   
    		   }
    	   });
    	   mExit.addActionListener(new ActionListener(){
    		   public void actionPerformed(ActionEvent e){
    			   ShowClock.this.dispose();
    		   }
    	   });
    	   pl=new JPanel();pl.setLayout(null);
    	   c.add(pl);
    	   clock=new JLabel();
    	   clock.setFont(new Font("黑体",Font.BOLD,15));
           clock.setForeground(Color.blue);
    	   pl.add(clock);
    	   clock.setBounds(40,20,400,30);
    	   ShowTime st=new ShowTime(clock);
            st.start();
    	   this.setSize(500,400);
    	   this.setVisible(true);
    	}
    	
    	public ShowClock(String title){
    		super(title);
    		init();
    	}
    	class ShowTime extends Thread{
    		JLabel clock;
    		public ShowTime(JLabel clock){
    			this.clock=clock;
    		}
    		public void run(){
    			while(true){
    		  Calendar c=Calendar.getInstance();
    		  int year=c.get(Calendar.YEAR);
    		  int month=c.get(Calendar.MONTH);
    		  int day=c.get(Calendar.DATE);
    		  int hour=c.get(Calendar.HOUR_OF_DAY);
    		  int minute=c.get(Calendar.MINUTE);
    		  int second=c.get(Calendar.SECOND);
    		  String s="北京时间   "+year+"年"+month+"月"+day+"日"+hour+"时"+minute+"分"+second+"秒";
    		  clock.setText(s);
    			}
    			}
    	}
    	public static void main(String[] args) {
    	    ShowClock sc=new ShowClock("时钟");
    
    	}
    
    }
    


     

  • 相关阅读:
    深入浅出:了解前后端分离优势、前后端接口联调以及优化问题
    深入浅出:了解JavaScript中的call,apply,bind的差别
    Vue2.0 搭建Vue脚手架(vue-cli)
    深入浅出:promise的各种用法
    深入浅出:了解常见的设计模式(闭包、垃圾回收机制)
    sql server xml 功能
    sqlite 用法
    PowerDesigner使用
    asp.net 开发注意的几点
    vue template
  • 原文地址:https://www.cnblogs.com/oversea201405/p/3752257.html
Copyright © 2011-2022 走看看