time.java

来自「模拟停止等待ARQ协议,网络课的重要实验,采用APPLET UDP传输!」· Java 代码 · 共 110 行

JAVA
110
字号
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.net.*;
import javax.swing.event.*;
public class time extends JDialog implements Runnable,ChangeListener
{
	Thread SplashThread=null;
	JProgressBar progress;
	boolean re=false;
	public time(JWindow f,String s,boolean b)
	{
		super();
		setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
		JPanel splash=new JPanel(new BorderLayout());
		progress =new JProgressBar();
		progress.setString("计时开始:");
		progress.setStringPainted(true);
		progress.setBackground(Color.white);
		progress.addChangeListener(this);
		splash.add(progress,BorderLayout.SOUTH);
		setContentPane(splash);
		Dimension screen= getToolkit().getScreenSize();
		pack();
		setLocation(200,200);
	}
	public time() {
    this(null, "计时器", false);
  }
	public void start()
	{
		this.toFront();
		SplashThread = new Thread (this);
		SplashThread.start();
	}
	public void restart()
	{
		time tm=new time();
		tm.start();
	}
	public void run()
	{
		show();
		try
		{
			for(int i=0;i<100;i++)
			{
				Thread.sleep(100);
				progress.setValue(progress.getValue()+1);
			}
		}
		catch(Exception ex)
		{
			ex.printStackTrace();
		}
	}
	public void stateChanged(ChangeEvent e)
	{
		if(progress.getPercentComplete()==0.10)
		{
			progress.setString("还有9秒重发...");
		}
		else if(progress.getPercentComplete()==0.20)
		{
			progress.setString("还有8秒重发...");
		}
		else if(progress.getPercentComplete()==0.30)
		{
			progress.setString("还有7秒重发...");
		}
		else if(progress.getPercentComplete()==0.40)
		{
			progress.setString("还有6秒重发...");
		}
		else if(progress.getPercentComplete()==0.50)
		{
			progress.setString("还有5秒重发...");
		}
		else if(progress.getPercentComplete()==0.60)
		{
			progress.setString("还有4秒重发...");
		}
		else if(progress.getPercentComplete()==0.70)
		{
			progress.setString("还有3秒重发...");
		}
		else if(progress.getPercentComplete()==0.80)
		{
			progress.setString("还有2秒重发...");
		}
		else if(progress.getPercentComplete()==0.90)
		{
			progress.setString("还有1秒重发...");
		}
		else if(progress.getPercentComplete()==1.00)
		{
			re=true;
			this.dispose();
		}
	}
	public void stop()
	{
		this.dispose();
	}
	public static void main(String[] args)
	{
		time splash= new time();
		splash.start();
	}
}

⌨️ 快捷键说明

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