ともさんの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ファイルを読み込む

このエントリーをはてなブックマークに追加
新着ページ

ペットボトルを利用したスズメバチホイホイ  
シャガの栽培、手入れ、増やしかた  
自動水やり器の自作  
テキスタイルプリントでキャスケット  
竹を曲げる方法  
アサガオ、F2の特性  
日本ミツバチ巣箱の検討  
柿の枝の剪定方法  
オモトの植え替え  
テーブルソーの安全な使いかた  
初心者用巣箱その1  

他のサイト

3D-CAD
洋裁CAD

いいねなど

 RSS 

Author: Tomoyuki Ito

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