⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 stopwatch.java

📁 这个程序是在迷宫中进行游戏的时间工具,是在一个专门学习java的网站上下载的,可以给初学的人一点启示.
💻 JAVA
字号:

/*
 * CopyLeft (c) 2004 Hussachai Puripunpinyo  All  Rights Reserved.
 * 
 * This software is made available under the terms of the "GPL License"
 * http://www.gnu.org/copyleft/gpl.html 
 */
 
/*
 * Last Modified : 17 October 2004
 *
 */
 
 /*
  * Welcome to any suggestion : SiberHus@YaHoo.com
  */
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.io.*;
import java.text.DecimalFormat;

public class StopWatch extends JFrame implements ActionListener
{
	Timer t;
	JOptionPane dialog;
	JLabel display;
	DecimalFormat df;
	JPanel watchPanel,controlPanel;
	JButton ssBtn,reBtn,prBtn,about;
	public StopWatch()
	{
		ButtonPerformed btnPerform=new ButtonPerformed();
		ssBtn=new JButton("Start");
		reBtn=new JButton("Reset");
		prBtn=new JButton("Pause");
		about=new JButton("About");
		prBtn.setEnabled(false);
		watchPanel=new JPanel();
		controlPanel=new JPanel();
		df=new DecimalFormat("00");
		display=new JLabel();
		display.setText("Elapse : "+df.format(hour)+" : "+df.format(minute)
		+" : "+df.format(second)+" : "+df.format(csecond));
		dialog=new JOptionPane();
		display.setFont(new Font("Arial",Font.BOLD,24));
		t=new Timer(10,this);
		watchPanel.setLayout(new FlowLayout());
		controlPanel.setLayout(new FlowLayout());
		getContentPane().setLayout(new BorderLayout());
		watchPanel.add(display);
		controlPanel.add(ssBtn);//Start/Stop
		controlPanel.add(prBtn);//Pause/Resume
		controlPanel.add(reBtn);//Reset
		controlPanel.add(about);
		getContentPane().add(watchPanel,"North");
		getContentPane().add(controlPanel,"Center");
		prBtn.addActionListener(btnPerform);
		ssBtn.addActionListener(btnPerform);
		reBtn.addActionListener(btnPerform);
		about.addActionListener(btnPerform);
		setSize(330,100);
		setVisible(true);
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	}
	
	void startTimer()
	{
		t.start();
	}
	void stopTimer()
	{
		t.stop();
		csecond=0;
		second=0;
		minute=0;
		hour=0;
	}
	void pauseTimer()
	{
		t.stop();
	}
	void resumeTimer()
	{
		t.start();
	}
	void resetTimer()
	{
		csecond=0;
		second=0;
		minute=0;
		hour=0;
		display.setText("Elapse : "+df.format(hour)+" : "+df.format(minute)
		+" : "+df.format(second)+" : "+df.format(csecond));
	}
	private int csecond=0;
	private int second=0;
	private int minute=0;
	private int hour=0;
	private boolean isPause=true;
	private boolean isStart=true;
	public void actionPerformed(ActionEvent e){
		csecond++;
		if(csecond==100)
		{
			second++;
			csecond=0;
		}
		if(second==60){
			minute++;
			second=0;
		}
		if(minute==60){
			hour++;
			minute=0;
		}
		
		display.setText("Elapse : "+df.format(hour)+" : "+df.format(minute)
		+" : "+df.format(second)+" : "+df.format(csecond));
	}
	private class ButtonPerformed implements ActionListener
	{
		public void actionPerformed(ActionEvent e)
		{
			if(e.getSource()==ssBtn)
			{
				if(isStart)
				{
					startTimer();
					isStart=false;
					ssBtn.setText("Stop");
					prBtn.setEnabled(true);
					
				}
				else
				{
					isStart=true;
					ssBtn.setText("Start");
					stopTimer();
					isPause=true;
					prBtn.setText("Pause");
					prBtn.setEnabled(false);
				}
			}
			if(e.getSource()==prBtn)
			{
				if(isPause)
				{
					prBtn.setText("Resume");
					pauseTimer();
					isPause=false;
				}
				else
				{
					prBtn.setText("Pause");
					startTimer();
					isPause=true;
				}
			}
			if(e.getSource()==reBtn)
			{
				resetTimer();
			}
			if(e.getSource()==about)
			{
				dialog.showMessageDialog(null,"StopWatch Demo.\nCreated by "+
				"Hussachai Puripunpinyo\nEmail : SiberHus@YaHoo.Com");
			}
		}
	}
	public static void main(String args[])
	{
		StopWatch watch=new StopWatch();
		
	}
	
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -