ともさんの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ファイルに取り込無ことで正常に読み込むことが出来ました。

最終更新日: 2019-11-13 08:44:13

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

広告
新着ページ

AIを利用し、衣服のデザイン画から型紙を制作する方法  
2つのアパレル3D技術でひらくオーダーメイド生産の手法  
【洋裁型紙】前後身頃の肩の傾きは何故前身頃の方が傾いているのか  
電子追尾式天体写真撮影法  
日本ミツバチ巣箱の種類  
ドラフター(製図台)でソーイング  
日本ミツバチが逃亡  
カメさんの箱庭  
天体用デジタルカメラの構造と天体写真  
Javaで静止画像(Jpeg)を動画(Mov)に変換  
USBカメラをJAVAで制御  

他のサイト

3D-CAD
洋裁CAD

いいねなど

 RSS 

Author: Tomoyuki Ito

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