📄 ex_18_13.java
字号:
/*
*文件名:ex_18_13.java
*说 明:快闪窗口---- Window窗口的应用
*/
// 导入awt包
import java.awt.*;
// 主类
class ex_18_13 extends Frame
{
public ex_18_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_18_13 splashDemo=new ex_18_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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -