タツノオトシゴのブログ

主にJavaに関するものです。

JavaFX

SceneBuilder 11で日本語が文字化けする事象の修正方法

SceneBuilder11のインストーラ形式を入れて、起動するとメニューなどが文字化けする。ver10のときから直っていないので、11用の直し方を説明する。moondream.hatenablog.com1.アプリ本体「scenebuilder-11.0.0-all.jar」の取得SceneBuilder11からインストー…

SceneBuilder 10で日本語が文字化けする事象の修正方法

SceneBuilderのインストーラ形式を入れて、起動するとメニューなどが文字化けする。対処方法として知られているのが、メニューを英語で表示し対応するというもの。 qiita.comだけど、やっぱし、日本語を正しく表示したい。ということで、調査結果とその対応…

続・JavaFX8の印刷機能によるHTMLのPDF変換

以前の記事では失敗した、Java8の印刷機能を使ったHTMLのPDF変換を再度試してみた。結果、上手くいきました。【環境】 OS:CentOS6.6 64bit kernel:2.6.32-504.el6.x86_64 Java:build 1.8.0_25-b17 仮想プリンタ:cups-pdf(cups-pdf-2.6.1-4.el6.x86_64) EPE…

JavaFX on Java8(JavaFX8)のことはじめ

ようやく、Java8がリリースされました。自分的に注目なのが、JavaFXです。以前の記事にも書いていますが、Java7までのJavaFX2.X系は、業務などで本格的にアプリを開発しようとした場合は、まだまだ機能不足でした。JavaFX8になり、コントローラ「DatePicker…

JavaFX8の印刷機能によるHTMLのPDF変換

JavaFX8から、印刷機能が完全サポートされる予定。 使い方は、スナップショットによるノード自身を画像として保存する方式とほぼ同じで、 ノード自身をプリンタオブジェクトに渡せばOK。 この印刷機能とPDFに変換する仮想プリンタを利用することで、既存の…

仮想PCでJavaFXが起動しない(crash)する場合

VirutalBoxなどの仮想PC上でJavaFXのアプリを起動しようとした場合、HotSpotエラーがで出てJVMがcrashする場合がある。 JDK8のEarly Access版をLinuxで試そうかと思ったら、どうにも起動できない。 既存のJDK7の場合も同様だった。HotSpotのエラーログを見る…

JavaFXのライブラリを作りました。

以前に過去の記事で記載したものをライブラリとして公開しました。JavaFXを使うとちょっとしたGUIのツールが非常に簡単に作れて重宝しました。 特に、SceneBuilderでFXMLをサクサク作れるのが非常に楽しいですね。 FXMLを読み込む際にパス指定が毎回面倒だっ…

JavaFXによるJVMのヒープサイズのグラフ化

需要はないいけど、JavaFXによるJavaVMのヒープサイズの可視化するツールを作ります。 こんな機能は「jconsole」やGCログを出して「GCViewer」で見ればいいじゃんと思いますが、設定とか面倒だったり、気軽にできなかったり、JDKの入っていないJREのみの環境…

JavaFXでスプラッシュの表示

下記を参考にしました。 http://itpro.nikkeibp.co.jp/article/COLUMN/20070114/258581/ プレローダを利用する場合、JavaFX用にパッケージングする必要があるため、非常に面倒です。 Java標準の「-splash」オプションを使用すると手軽に実現できます。 スプ…

JavaFXでプレローダの表示

はじめに 「javafx.application.Preloader」は、「javafx.application.Application」を継承しています。 そのため、自分のApplication本体とプレローダ用のアプリケーションを用意します。JavaFXのアプリケーションは、起動フローとして次のようになっており…

JavaFX2のパッケージング

JavaFXはjarをクリックすると起動するようにする方法とjnlpの形式でWebブラウザで実行できる形式にまとめる方法があります。 デスクトップで実行する場合jarの場合は単にjarで固めただけでも動作しますが、jnlpの場合は専用のjarにする必要があります。 Java…

SpringBeanをインジェクションするFXMLLoaderを自作する

ここまで紹介したように、FXMLLoaderによるパターンは2つあることが分かったと思います。 毎回、FXMLLoaderでFXMLファイルとControllerを指定して作成するのは面倒なので、パターンに合わせてFXMLLoaderを自作します。 FXMLLoader自体、finalクラスで継承付…

JavaFXのControllerにおけるSpringBeanのインジェクションについて

JavaFXでSpringのBeanをControllerにインジェクションする方法は2つあります。これは、自身がPaneなどを継承して作られているかどうかで変わります。 方法(1)「ControllerをSpring Beanとして扱う」 Scene(Node)とControllerのインスタンスを別々に作成す…

JavaFXのControllerの書式について

アノテーション「@FXML」とカプセル化について アノテーション「@FXML」は、マッピング対象のクラス属性がpublic以外の場合に指定します。 そのため、publicにしておけば、アノテーションは必要ありませんが、カプセル化の観点からお勧めしません。 また、FX…

FXMLからNodeのインスタンスの作成方法について

FXMLLoaderクラスを利用したFXMLからSceneやPaneのインスタンスの作成方法は、大きく分けて3つあります。 (1)SceneやPaneのみのインスタンスを取得する場合 Controllerを伴わないSceneやPaneのインスタンスをFXMLから取得する場合、staticメソッドのFMLLoade…

JavaFX2.xの環境構築メモ

JavaFXのインストール JDK/JRE 7に標準にJavaFXのランタイムの最新版が付属しているので、JDK7をインストールすればよい。一応、Java6のためにも用意されているが、すなおにJava7を使った方が無難。Scene Builderも下記のURLからダウンロードできる。32bit…

JavaFX2.xを使ってみた感想

はじめに JavaFXを仕事で使おうかと思い、色々と調査したので、メモ代わりに書いておこうと思います。 長所 AWT/Swingと比べて非常に簡単に作れる。 FXMLにより、View部分を完全に分離できる。 今まで、Viewの組み立てだけでコード量が膨大になっていたので…