JavaFX
SceneBuilder11のインストーラ形式を入れて、起動するとメニューなどが文字化けする。ver10のときから直っていないので、11用の直し方を説明する。moondream.hatenablog.com1.アプリ本体「scenebuilder-11.0.0-all.jar」の取得SceneBuilder11からインストー…
SceneBuilderのインストーラ形式を入れて、起動するとメニューなどが文字化けする。対処方法として知られているのが、メニューを英語で表示し対応するというもの。 qiita.comだけど、やっぱし、日本語を正しく表示したい。ということで、調査結果とその対応…
以前の記事では失敗した、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…
ようやく、Java8がリリースされました。自分的に注目なのが、JavaFXです。以前の記事にも書いていますが、Java7までのJavaFX2.X系は、業務などで本格的にアプリを開発しようとした場合は、まだまだ機能不足でした。JavaFX8になり、コントローラ「DatePicker…
JavaFX8から、印刷機能が完全サポートされる予定。 使い方は、スナップショットによるノード自身を画像として保存する方式とほぼ同じで、 ノード自身をプリンタオブジェクトに渡せばOK。 この印刷機能とPDFに変換する仮想プリンタを利用することで、既存の…
VirutalBoxなどの仮想PC上でJavaFXのアプリを起動しようとした場合、HotSpotエラーがで出てJVMがcrashする場合がある。 JDK8のEarly Access版をLinuxで試そうかと思ったら、どうにも起動できない。 既存のJDK7の場合も同様だった。HotSpotのエラーログを見る…
以前に過去の記事で記載したものをライブラリとして公開しました。JavaFXを使うとちょっとしたGUIのツールが非常に簡単に作れて重宝しました。 特に、SceneBuilderでFXMLをサクサク作れるのが非常に楽しいですね。 FXMLを読み込む際にパス指定が毎回面倒だっ…
需要はないいけど、JavaFXによるJavaVMのヒープサイズの可視化するツールを作ります。 こんな機能は「jconsole」やGCログを出して「GCViewer」で見ればいいじゃんと思いますが、設定とか面倒だったり、気軽にできなかったり、JDKの入っていないJREのみの環境…
下記を参考にしました。 http://itpro.nikkeibp.co.jp/article/COLUMN/20070114/258581/ プレローダを利用する場合、JavaFX用にパッケージングする必要があるため、非常に面倒です。 Java標準の「-splash」オプションを使用すると手軽に実現できます。 スプ…
はじめに 「javafx.application.Preloader」は、「javafx.application.Application」を継承しています。 そのため、自分のApplication本体とプレローダ用のアプリケーションを用意します。JavaFXのアプリケーションは、起動フローとして次のようになっており…
JavaFXはjarをクリックすると起動するようにする方法とjnlpの形式でWebブラウザで実行できる形式にまとめる方法があります。 デスクトップで実行する場合jarの場合は単にjarで固めただけでも動作しますが、jnlpの場合は専用のjarにする必要があります。 Java…
ここまで紹介したように、FXMLLoaderによるパターンは2つあることが分かったと思います。 毎回、FXMLLoaderでFXMLファイルとControllerを指定して作成するのは面倒なので、パターンに合わせてFXMLLoaderを自作します。 FXMLLoader自体、finalクラスで継承付…
JavaFXでSpringのBeanをControllerにインジェクションする方法は2つあります。これは、自身がPaneなどを継承して作られているかどうかで変わります。 方法(1)「ControllerをSpring Beanとして扱う」 Scene(Node)とControllerのインスタンスを別々に作成す…
アノテーション「@FXML」とカプセル化について アノテーション「@FXML」は、マッピング対象のクラス属性がpublic以外の場合に指定します。 そのため、publicにしておけば、アノテーションは必要ありませんが、カプセル化の観点からお勧めしません。 また、FX…
FXMLLoaderクラスを利用したFXMLからSceneやPaneのインスタンスの作成方法は、大きく分けて3つあります。 (1)SceneやPaneのみのインスタンスを取得する場合 Controllerを伴わないSceneやPaneのインスタンスをFXMLから取得する場合、staticメソッドのFMLLoade…
JavaFXのインストール JDK/JRE 7に標準にJavaFXのランタイムの最新版が付属しているので、JDK7をインストールすればよい。一応、Java6のためにも用意されているが、すなおにJava7を使った方が無難。Scene Builderも下記のURLからダウンロードできる。32bit…
はじめに JavaFXを仕事で使おうかと思い、色々と調査したので、メモ代わりに書いておこうと思います。 長所 AWT/Swingと比べて非常に簡単に作れる。 FXMLにより、View部分を完全に分離できる。 今まで、Viewの組み立てだけでコード量が膨大になっていたので…