ex_9_2_13.java

来自「JAVA程序设计与实践.rar」· Java 代码 · 共 81 行

JAVA
81
字号
/*
 *文件名:ex_9_2_13.java
 *说  明:快闪窗口---- Window窗口的应用
 */
// 导入awt包
import java.awt.*;
// 主类
class ex_9_2_13 extends Frame
{
	public ex_9_2_13()
	{
		
		// 获取快闪窗口所需的图像
		Image img=Toolkit.getDefaultToolkit().getImage("splash.gif");
		// 构造载入Image图像的Panel
		ImagePane pnlImage=new ImagePane(img);
		// 创建快闪窗口并把图像Panel加入其中
		Window splashWindow=new Window(this);
		splashWindow.add(pnlImage,BorderLayout.CENTER);
		// 获取整个屏幕的尺寸大小
		Dimension scrSize=Toolkit.getDefaultToolkit().getScreenSize();
		// 图像的宽和高
		int imageWidth=img.getWidth(this);
		int imageHeight=img.getHeight(this);
		// 设置快闪窗口的大小和居中位置
		splashWindow.setSize(imageWidth,imageHeight);
		splashWindow.setLocation(scrSize.width/2-imageWidth/2,scrSize.height/2-imageHeight/2);
		// 显示快闪窗口并置为最前端显示
		splashWindow.show();
		splashWindow.toFront();
		
		try
		{
			// 使当前线程睡眠5秒钟来模拟应用程序的载入
			Thread.currentThread().sleep(5000);
		}
		catch(Exception e)
		{
			e.printStackTrace();	
		}
		// 关闭快闪窗口并释放该窗体的资源
		splashWindow.dispose();
	}
	// 程序的入口
	public static void main(String args[])
	{
		// 创建框架窗体
		ex_9_2_13 splashDemo=new ex_9_2_13();
		System.exit(0);
	}
}
// 封装载入图像的Panel
class ImagePane extends Panel
{
	private Image imgSplash;
	ImagePane(Image img)
	{
		// 跟踪载入图像
		MediaTracker mt=new MediaTracker(this);
		mt.addImage(img,0);
		try
		{
			mt.waitForID(0);
		}
		catch(Exception e)
		{
			e.printStackTrace();
		}
		this.imgSplash=img;
	}
	// 绘制图像
	public void paint(Graphics g)
	{
		g.drawImage(imgSplash,0,0,this);
	}
	// 设置图像Panel的大小
	public Dimension getPreferredSize()
	{
		return new Dimension(imgSplash.getWidth(this),imgSplash.getHeight(this));
	}	
}

⌨️ 快捷键说明

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