java.lang.Object java.awt.SplashScreen
public final class SplashScreen
在 Java 虚拟机 (JVM) 启动之前,可以在应用程序启动时创建闪现屏幕。闪现屏幕显示为一个包含图像的未装饰窗口。可以使用 GIF、JPEG 和 PNG 文件作为图像。支持动画(用于 GIF)和透明度(用于 GIF、PNG 文件)。窗口位于屏幕的中心(在多监视器系统中的位置没有指定——它与平台和实现有关)。一旦 Swing/AWT 显示第一个窗口,此窗口就会自动关闭(也可以使用 Java API 手动关闭窗口,参见以下内容)。
显示本机闪现屏幕有两种方式:
java -splash:filename.gif Test
manifest.mf
文件中: Manifest-Version: 1.0 Main-Class:Test SplashScreen-Image:filename.gif命令行接口的优先级高于清单设置。
SplashScreen
类提供用于控制闪现屏幕的 API。此类可用于关闭闪现屏幕、更改闪现屏幕图像、获取图像位置/大小以及在闪现屏幕中进行绘制。它不能用于创建闪现屏幕;应当使用命令行或清单文件选项来实现该操作。
此类无法被实例化。只能存在一个此类的实例,可以使用 getSplashScreen()
静态方法获得该实例。如果闪现屏幕不是通过命令行或清单文件选项在应用程序启动时创建的,那么 getSplashScreen
方法将返回 null
。
方法摘要 | |
---|---|
void |
close() 隐藏闪现屏幕、关闭窗口并释放所有相关资源。 |
Graphics2D |
createGraphics() 创建闪现屏幕叠加图像的图形上下文( Graphics2D 形式),它允许在闪现屏幕上进行绘制。 |
Rectangle |
getBounds() 以 Rectangle 形式返回闪现屏幕窗口的边界。 |
URL |
getImageURL() 返回当前闪现屏幕图像。 |
Dimension |
getSize() 以 Dimension 形式返回闪现屏幕窗口的大小。 |
static SplashScreen |
getSplashScreen() 返回用于 Java 启动闪现屏幕控制的 SplashScreen 对象。 |
boolean |
isVisible() 确定闪现屏幕是否可见。 |
void |
setImageURL(URL imageURL) 更改闪现屏幕图像。 |
void |
update() 用当前叠加图像的上下文来更新闪现屏幕窗口。 |
从类 java.lang.Object 继承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
方法详细信息 |
---|
public static SplashScreen getSplashScreen()
SplashScreen
对象。
SplashScreen
实例;如果没有该实例或者已经关闭它,则返回
null
。
UnsupportedOperationException
- 如果当前工具包不支持闪现屏幕功能
HeadlessException
- 如果
GraphicsEnvironment.isHeadless()
返回 true
public void setImageURL(URL imageURL) throws NullPointerException, IOException, IllegalStateException
imageURL
- 新闪现屏幕图像的非
null
URL
NullPointerException
- 如果
imageURL
为
null
IOException
- 如果加载图像时出现错误
IllegalStateException
- 如果闪现屏幕已经关闭
public URL getImageURL() throws IllegalStateException
IllegalStateException
- 如果闪现屏幕已经关闭
public Rectangle getBounds() throws IllegalStateException
Rectangle
形式返回闪现屏幕窗口的边界。例如,如果想在同一位置用窗口替换闪现屏幕,此方法将很有用。
无法控制闪现屏幕的大小或位置。图像更改时闪现屏幕的大小将自动调整。
Rectangle
IllegalStateException
- 如果闪现屏幕已经关闭
public Dimension getSize() throws IllegalStateException
Dimension
形式返回闪现屏幕窗口的大小。例如,如果想在闪现屏幕叠加表面上进行绘制,这将很有用。
无法控制闪现屏幕的大小或位置。图像更改时闪现屏幕的大小将自动调整。
Dimension
对象,用于指示闪现屏幕的大小
IllegalStateException
- 如果闪现屏幕已经关闭
public Graphics2D createGraphics() throws IllegalStateException
Graphics2D
形式),它允许在闪现屏幕上进行绘制。注意,不是在主图像上绘制,而是在使用 alpha 混合的主图像上显示的图像中进行绘制。 还要注意的是,在叠加图像上绘制不必更新闪现屏幕窗口的内容。当希望闪现屏幕立即获得更新时,应当在
SplashScreen
上调用
update()
。
IllegalStateException
- 如果闪现屏幕已经关闭
public void update() throws IllegalStateException
IllegalStateException
- 如果叠加图像不存在;例如,如果从未调用
createGraphics
,或闪现屏幕已经关闭
public void close() throws IllegalStateException
IllegalStateException
- 如果闪现屏幕已经关闭
public boolean isVisible()
close()
隐藏闪现屏幕,当第一个 AWT/Swing 窗口变得可见时,闪现屏幕也将自动隐藏。