fasong.java

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

JAVA
88
字号
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.net.*;
import javax.swing.event.*;
public class fasong extends JDialog implements Runnable,ActionListener,ChangeListener
{
	Thread SplashThread=null;
	JProgressBar progress;
	JButton bb;
	public fasong(JFrame f,String s,boolean b)
	{
		super();
		setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
		JPanel splash=new JPanel(new BorderLayout());
		URL url=getClass().getResource("catzhuazi.gif");
		bb=new JButton(new ImageIcon(url));
		splash.add(bb,BorderLayout.CENTER);
		bb.addActionListener(this);
		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((screen.width - getSize().width)/2,(screen.height-getSize().height)/2);
	}
	public fasong() {
    this(null, "", false);
  }
	public void start()
	{
		this.toFront();
		SplashThread = new Thread (this);
		SplashThread.start();
	}
	public void restart()
	{
		progress.setValue(0);
		SplashThread.start();
	}
	public void run()
	{
		show();
		try
		{
			for(int i=0;i<100;i++)
			{
				Thread.sleep(50);
				progress.setValue(progress.getValue()+1);
			}
		}
		catch(Exception ex)
		{
			ex.printStackTrace();
		}
	}
	public void actionPerformed(ActionEvent evt)
	{
		if(evt.getSource()==bb&&progress.getPercentComplete()==1.0)
		{
			new AboutDialog();
		}
	}
	public void stateChanged(ChangeEvent e)
	{
		if(progress.getPercentComplete()==0.70)
		{
			progress.setString("校验数据中...");
		}
		else if(progress.getPercentComplete()==0.90)
		{
			progress.setString("校验完毕...");
		}
		else if(progress.getPercentComplete()==1.00)
		{
			this.dispose();
		}
	}
	public static void main(String[] args)
	{
		fasong splash= new fasong();
		splash.start();
	}
}

⌨️ 快捷键说明

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