ともさんのHP >プロブラミング >JavaFX >アイコンの差し替え


JavaFXのアイコンを差し替える

Javaアプリを立ち上げるとWindowsのタスクバーとStageの左上に Java 楽天 の「コーヒーアイコン」が表示されます。
Javaの「コーヒーアイコン」

これを任意の画像に差し替えるサンプルプログラムです。

広告

下の画像緑のアイコンがJavaFXアプリケーションを実行した例。
赤はJavaSwingでの例です。
JavaFXアイコン変更


JavaFXのサンプルプログラム

画像を読みこんでStageに貼り付けます。これだけ。
icon.pngは32×32ピクセルの小さなものを使っています。Windowsのタスクバーに表示されるサイズがこの大きさなので、 これより大きくする意味はありません。

 Image icon = new Image( "file:/d:/work/icon.png" );
 stage.getIcons().add( icon );


単純な実行できるサンプルプログラムは下記の通り。

package tomojavalib.swingfx;

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.image.Image;
import javafx.scene.layout.*;
import javafx.stage.Stage;

public class IconTestFx extends Application {

 public static void main(String[] args) {
  Application.launch(args);
 }

 @Override
 public void start(Stage stage) throws Exception {
  stage.setTitle("FX");
  FlowPane pane = new FlowPane();
  Scene scene = new Scene(pane, 320, 240);
  stage.setScene(scene);
  //アイコンの設定
 Image icon = new Image( "file:/d:/work/icon.png" );
 stage.getIcons().add( icon );
 stage.show();
 }
}

広告


JavaSwingのサンプルプログラム

同様にJavaSwingで書くとこんな感じ。
画像ファイルを読み込んで、Jframeにセットします。

URL url=this.getClass().getResource("icon.png");
try {
 Image im=this.createImage((ImageProducer) url.getContent());
 this.setIconImage( im );
}catch(Exception ex){System.out.println("アイコンファイルがありません");}


単純な実行できるサンプルプログラムに組み込むと、下記の通り。

package tomojavalib.swingfx;

import java.awt.Image;
import java.awt.image.ImageProducer;
import java.net.URL;

import javax.swing.Jframe;

public class IconTestSwing extends Jframe {

/*コンストラクタ*/
public IconTestSwing()
{
 //サイズ設定
 this.setBounds(500, 500, 320, 240);
 //タイトル設定
 this.setTitle("SWING");
 //アイコンの設定
 this.setIcon();
}

private void setIcon()
{
//アイコンの設定
URL url=this.getClass().getResource("icon.png");
try {
 Image im=this.createImage((ImageProducer) url.getContent());
 this.setIconImage( im );
}catch(Exception ex){System.out.println("アイコンファイルがありません");}
}

public static void main(String[] args) {
 IconTestSwing its = new IconTestSwing();
 its.setVisible(true);
}

}


Jar化するときの記述

上のコードでは、Jarファイルかしたときにうまく読み込めないことに気付きました。
JavaFX楽天 の場合は、イメージの読み込みを下記のように描き直し、

Image icon = new Image(getClass().getResourceAsStream( "icon2.png" ));

画像ファイルを実行ファイルと同じJarファイルに取り込無ことで正常に読み込むことが出来ました。

最終更新日: 2018-02-19 09:01:33

ともさんのHP >プロブラミング >JavaFX >アイコンの差し替え

このエントリーをはてなブックマークに追加
広告
おすすめ記事
新着ページ

書斎机  
須屋  
ラウンドアップを使って木を枯らす  
備中鍬の修繕  
薪ストーブの掃除  
普通のブラウスの作りかた  
竹の固縛  
あじさいの栽培、手入れ、増やしかた  
除草剤の特性  
ガゼボのDIY  
アロハシャツ(開襟シャツ)の型紙  

私の他のサイト

ともさんの箱庭(ブログ)
家庭菜園
3D-CAD
洋裁CAD

いいねなど

 RSS 
PageSpeedInsights
html5チェック

Author: Tomoyuki Ito

このサイトの文章・写真の無断転載を禁じます