モジュール java.desktop
パッケージ java.awt

クラスSplashScreen

java.lang.Object
java.awt.SplashScreen

public final class SplashScreen extends Object
スプラッシュ画面は、Java仮想マシン(JVM)が起動する前のアプリケーションの起動時に表示できます。 スプラッシュ画面は、装飾のない、イメージを含むウィンドウとして表示されます。 イメージにはGIF、JPEG、またはPNGファイルを使用できます。 アニメーションはGIF形式でサポートされ、透明度はGIFとPNGの両方でサポートされています。 ウィンドウは画面の中央に配置されます。 複数モニター・システム上の位置は指定されません。 その場合、プラットフォームと実装に依存します。 Swing/AWTによって最初のウィンドウが表示されると、スプラッシュ画面ウィンドウは自動的に閉じます。また、Java APIを使用して手動で閉じることもできます(下記を参照してください)。

アプリケーションが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
 
HiDPIスケーリングされたイメージもサポートされています。 スケーリングされていないイメージ名、例えばfilename.gifは、HiDPIとNon-HiDPIに関係なく、すべてのイメージ型に対してmanifest.mf/-splash:オプションで渡されます。 以下は、拡大縮小イメージの命名規則です。 スクリーン・スケール1.25: ファイル名@ 125pct.gif画面の大きさ1.50: ファイル名@ 150pct.gifスクリーン・スケール2: ファイル名@ 200pct.gifとファイル名@2x.gifはどちらもサポートされています。スクリーン・スケール2.50: ファイル名@ 250pct.gifスクリーン・スケール3: filename @ 300pct.gifとfilename @ 3x.gifの両方がサポートされていますコマンドライン・インタフェースは、マニフェスト設定よりも高い優先順位を持っています。

スプラッシュ画面では、ターゲットであるプラットフォームおよびディスプレイの制限に応じて、できるかぎり忠実にスプラッシュ画面イメージ全体が表示されます。

基本的に、指定されたイメージは画面上に「そのとおりに」表示されます。つまり、イメージ・ファイルで指定されている正確なカラー値が維持されます。 ただし、状況によっては、表示されるイメージが異なる場合があります。たとえば、ピクセルあたりのビット数(bpp)が32ビットであるイメージにカラー・ディザリングを適用して16または8 bppの画面に表示する場合などです。 ネイティブ・プラット・フォームの表示構成も、表示されるイメージの色に影響を与えることがあります(カラー・プロファイルなど)。

SplashScreenクラスは、スプラッシュ画面を制御するAPIを提供します。 このクラスは、スプラッシュ画面を閉じたり、スプラッシュ画面のイメージを変更したり、スプラッシュ画面のネイティブ・ウィンドウの位置やサイズを取得したり、スプラッシュ画面内で描画したりするために使用できます。 スプラッシュ画面を生成するためには使用できません。 その目的には、Javaの実装で提供されているオプションを使用してください。

このクラスはインスタンス化できません。 このクラスのインスタンスは1つだけ存在でき、getSplashScreen() staticメソッドを使用してインスタンスを取得できます。 アプリケーションの起動時にコマンド行またはマニフェスト・ファイルのオプションを使用してスプラッシュ画面が生成されなかった場合、getSplashScreenメソッドはnullを返します。

導入されたバージョン:
1.6
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    void
    スプラッシュ画面を隠し、ウィンドウを閉じ、関連するすべてのリソースを解放します。
    スプラッシュ画面上に描画できるようにする、スプラッシュ画面のオーバーレイ・イメージのグラフィックス・コンテキストを(Graphics2Dオブジェクトとして)作成します。
    スプラッシュ画面ウィンドウの境界をRectangleとして返します。
    現在のスプラッシュ画面のイメージを返します。
    スプラッシュ画面ウィンドウのサイズをDimensionとして返します。
    表示をサポートするシステム上でJava起動スプラッシュ画面制御に使用されるSplashScreenオブジェクトを返します。
    boolean
    スプラッシュ画面が可視かどうかを判定します。
    void
    setImageURL(URL imageURL)
    スプラッシュ画面のイメージを変更します。
    void
    オーバーレイ・イメージの現在の内容でスプラッシュ・ウィンドウを更新します。

    クラス java.lang.Objectで宣言されたメソッド

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • メソッドの詳細

    • getSplashScreen

      public static SplashScreen getSplashScreen()
      表示をサポートするシステム上でJava起動スプラッシュ画面制御に使用されるSplashScreenオブジェクトを返します。
      戻り値:
      SplashScreenインスタンス、または存在しないかすでに閉じられている場合はnull
      例外:
      UnsupportedOperationException - スプラッシュ画面機能が現在のツールキットでサポートされない場合
      HeadlessException - GraphicsEnvironment.isHeadless()がtrueを返した場合
    • setImageURL

      public void setImageURL(URL imageURL) throws NullPointerException, IOException, IllegalStateException
      スプラッシュ画面のイメージを変更します。 新しいイメージは指定されたURLからロードされます。サポートされるイメージ形式はGIF、JPEG、およびPNGです。 このメソッドは、イメージのロードが終了してウィンドウが更新されると戻ります。 スプラッシュ画面は、イメージのサイズに合わせてサイズが変更され、画面の中央に配置されます。
      パラメータ:
      imageURL - 新しいスプラッシュ画面イメージの、nullでないURL
      例外:
      NullPointerException - imageURLnullである場合
      IOException - イメージのロード時にエラーが発生した場合
      IllegalStateException - スプラッシュ画面がすでに閉じられている場合
    • getImageURL

      public URL getImageURL() throws IllegalStateException
      現在のスプラッシュ画面のイメージを返します。
      戻り値:
      現在のスプラッシュ画面のイメージ・ファイルのURL
      例外:
      IllegalStateException - スプラッシュ画面がすでに閉じられている場合
    • getBounds

      public Rectangle getBounds() throws IllegalStateException
      スプラッシュ画面ウィンドウの境界をRectangleとして返します。 たとえばスプラッシュ画面を同じ位置で、そのあとに表示するウィンドウに置き換える場合に便利です。

      スプラッシュ画面のサイズや位置は制御できません。 スプラッシュ画面のサイズは、イメージが変更されると自動的に調整されます。

      イメージには透明な領域が含まれている場合があるため、報告される境界は、画面上に見えるスプラッシュ画面イメージより大きいことがあります。

      戻り値:
      スプラッシュ画面の境界が格納されたRectangle
      例外:
      IllegalStateException - スプラッシュ画面がすでに閉じられている場合
    • getSize

      public Dimension getSize() throws IllegalStateException
      スプラッシュ画面ウィンドウのサイズをDimensionとして返します。 たとえばスプラッシュ画面のオーバーレイ表面に描画する場合に便利です。

      スプラッシュ画面のサイズや位置は制御できません。 スプラッシュ画面のサイズは、イメージが変更されると自動的に調整されます。

      イメージには透明な領域が含まれている場合があるため、報告されるサイズは、画面上に見えるスプラッシュ画面イメージより大きいことがあります。

      戻り値:
      スプラッシュ画面のサイズを示すDimensionオブジェクト
      例外:
      IllegalStateException - スプラッシュ画面がすでに閉じられている場合
    • createGraphics

      public Graphics2D createGraphics() throws IllegalStateException
      スプラッシュ画面上に描画できるようにする、スプラッシュ画面のオーバーレイ・イメージのグラフィックス・コンテキストを(Graphics2Dオブジェクトとして)作成します。 メイン・イメージには描画せず、アルファ合成を使用してメイン・イメージ上に表示されるイメージに描画します。 また、オーバーレイ・イメージに描画する場合、スプラッシュ画面ウィンドウの内容を更新する必要はありません。 スプラッシュ画面をすぐに更新する場合は、SplashScreenupdate()を呼び出してください。

      グラフィックス・コンテキストの座標空間のピクセル(0, 0)は、スプラッシュ画面のネイティブ・ウィンドウの境界の原点に一致します(getBounds()を参照してください)。

      戻り値:
      スプラッシュ画面のオーバーレイ表面のグラフィックス・コンテキスト
      例外:
      IllegalStateException - スプラッシュ画面がすでに閉じられている場合
    • update

      public void update() throws IllegalStateException
      オーバーレイ・イメージの現在の内容でスプラッシュ・ウィンドウを更新します。
      例外:
      IllegalStateException - オーバーレイ・イメージが存在しない場合。たとえばcreateGraphicsが呼び出されなかった場合、またはスプラッシュ画面がすでに閉じられている場合
    • close

      public void close() throws IllegalStateException
      スプラッシュ画面を隠し、ウィンドウを閉じ、関連するすべてのリソースを解放します。
      例外:
      IllegalStateException - スプラッシュ画面がすでに閉じられている場合
    • isVisible

      public boolean isVisible()
      スプラッシュ画面が可視かどうかを判定します。 スプラッシュ画面はclose()を使用して非表示にできます。また、最初のAWT/Swingウィンドウが可視になると、自動的に非表示になります。

      ネイティブ・プラット・フォームでは、スプラッシュ画面のネイティブ・ウィンドウの画面表示が遅れることがあります。 このメソッドの戻り値がtrueの場合は、スプラッシュ画面ウィンドウを非表示にする条件がまだ発生していないということだけが保証されます。

      戻り値:
      スプラッシュ画面が可視である(まだ閉じていない)場合はtrue、そうでない場合はfalse