ともさんのHP >プロブラミング >JavaFX >jarファイルからCSS、pngファイルを読み込む

jarファイルからCSS、pngファイルを読み込む

JavaFXのCSSファイルを読み込んだり、アイコンとして使うファイルをJarファイルから読み込むサンプルプログラムです。
javaCSSアイコン読み込み

画像ファイルの読み方

Eclipseで作業しているときにはエラーなく作業できたのに、Jarファイル化したら読み込めなくなってちょっと苦労しました。
下はEclipseでは動くけど、Jar化するとエラー。

Image icon = new Image( "file:icon.png" );

このように書き直したらうまく通りました。Pngファイルは実行ファイルと一緒にJarファイルに取り込んでいます。

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


サンプルプログラム

トップの画像は下のコードを実行したものです。
赤く表示されているのがアイコンで、icon.pngを読み込んだものです。
ボタンの文字が大きかったり枠に色がついていますが、これは読み込んだCSSファイル内で設定しています。

package tomojavalib.swingfx;

import javafx.application.Application;
import javafx.collections.ObservableList;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.image.Image;
import javafx.scene.layout.*;
import javafx.stage.Stage;

public class CssIconTestFx 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:icon.png" );
 Image icon = new Image(getClass().getResourceAsStream( "icon.png" ));
 stage.getIcons().add( icon );
 ObservableList<String> stylesheets = scene.getStylesheets();
 stylesheets.add(getClass().getResource("test.css").toExternalForm());
 Button b = new Button("テスト");
 pane.getChildren().add(b);
 stage.show();
 }
}

最終更新日: 2018-02-21 07:32:41

ともさんのHP >プロブラミング >JavaFX >jarファイルからCSS、pngファイルを読み込む

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

Jarファイルから別のJarを呼び出す  
ヒバカリの飼育  
涼感インナーの比較評価  
メンズシャツの縫い方  
ツバメの巣作り  
JavaFXマウスで視界移動  
男性用ズボンを作りました  
庇の作り方  
大腸カメラ検査体験談  
西洋ミツバチ雨の日の内検  
道後温泉で雨の露天風呂  

私の他のサイト

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

いいねなど

 RSS 
PageSpeedInsights
html5チェック

Author: Tomoyuki Ito

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