public final class SplashScreen extends Object
アプリケーションが jar ファイルにパッケージ化されている場合は、マニフェストファイルで SplashScreen-Image オプションを使用してスプラッシュ画面を表示できます。イメージを jar アーカイブに配置し、このオプションでパスを指定します。パスには先頭のスラッシュを含めないでください。
たとえば manifest.mf
ファイルで次のように指定します。
Manifest-Version: 1.0 Main-Class: Test SplashScreen-Image: filename.gif
Java の実装でコマンド行インタフェースが提供されている場合に、アプリケーションをコマンド行またはショートカットから実行するときは、Java アプリケーション起動オプションを使用してスプラッシュ画面を表示します。Oracle のリファレンス実装では、スプラッシュ画面イメージの場所を -splash:
オプションで指定できます。
例:
java -splash:filename.gif Testコマンド行インタフェースは、マニフェスト設定よりも優先します。
スプラッシュ画面では、ターゲットであるプラットフォームおよびディスプレイの制限に応じて、できるかぎり忠実にスプラッシュ画面イメージ全体が表示されます。
基本的に、指定されたイメージは画面上に「そのとおりに」表示されます。つまり、イメージファイルで指定されている正確なカラー値が維持されます。ただし、状況によっては、表示されるイメージが異なる場合があります。たとえば、ピクセルあたりのビット数 (bpp) が 32 ビットであるイメージにカラーディザリングを適用して 16 または 8 bpp の画面に表示する場合などです。ネイティブプラットフォームの表示構成も、表示されるイメージの色に影響を与えることがあります (カラープロファイルなど)。
SplashScreen
クラスは、スプラッシュ画面を制御する API を提供します。このクラスは、スプラッシュ画面を閉じたり、スプラッシュ画面のイメージを変更したり、スプラッシュ画面のネイティブウィンドウの位置やサイズを取得したり、スプラッシュ画面内で描画したりするために使用できます。スプラッシュ画面を生成するためには使用できません。その目的には、Java の実装で提供されているオプションを使用してください。
このクラスはインスタンス化できません。このクラスのインスタンスは 1 つだけ存在でき、getSplashScreen()
static メソッドを使用してインスタンスを取得できます。アプリケーションの起動時にコマンド行またはマニフェストファイルのオプションを使用してスプラッシュ画面が生成されなかった場合、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()
オーバーレイイメージの現在の内容でスプラッシュウィンドウを更新します。
|
public static SplashScreen getSplashScreen()
SplashScreen
オブジェクトを返します。SplashScreen
インスタンス、または存在しないかすでに閉じられている場合は null
UnsupportedOperationException
- スプラッシュ画面機能が現在のツールキットでサポートされない場合HeadlessException
- GraphicsEnvironment.isHeadless()
が true を返した場合public void setImageURL(URL imageURL) throws NullPointerException, IOException, IllegalStateException
imageURL
- 新しいスプラッシュ画面イメージの、null
でない URLNullPointerException
- 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
オブジェクトとして) 作成します。メインイメージには描画せず、アルファ合成を使用してメインイメージ上に表示されるイメージに描画します。また、オーバーレイイメージに描画する場合、スプラッシュ画面ウィンドウの内容を更新する必要はありません。スプラッシュ画面をすぐに更新する場合は、SplashScreen
で update()
を呼び出してください。
グラフィックスコンテキストの座標空間のピクセル (0, 0) は、スプラッシュ画面のネイティブウィンドウの境界の原点に一致します (getBounds()
を参照)。
IllegalStateException
- スプラッシュ画面がすでに閉じられている場合public void update() throws IllegalStateException
IllegalStateException
- オーバーレイイメージが存在しない場合。たとえば createGraphics
が呼び出されなかった場合、またはスプラッシュ画面がすでに閉じられている場合public void close() throws IllegalStateException
IllegalStateException
- スプラッシュ画面がすでに閉じられている場合public boolean isVisible()
close()
を使用して非表示にできます。また、最初の AWT/Swing ウィンドウが可視になると、自動的に非表示になります。
ネイティブプラットフォームでは、スプラッシュ画面のネイティブウィンドウの画面表示が遅れることがあります。このメソッドの戻り値が true
の場合は、スプラッシュ画面ウィンドウを非表示にする条件がまだ発生していないということだけが保証されます。
バグまたは機能を送信
詳細な API リファレンスおよび開発者ドキュメントについては、Java SE のドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2013, Oracle and/or its affiliates. All rights reserved.