torutkのブログ

ソフトウェア・エンジニアのブログ

JavaFX

JavaFXのSwingNodeがJavaFXのイベントをSwingのイベントに変換しているあたり

JavaFXの画面にSwingで作ったコンポーネントを乗せることが可能です。そのときは、JavaFXのSwingNodeを置いて、その上にSwingのコンポーネントを乗せます。(参考)OracleのJavaFXドキュメント「相互運用性 7. JavaFXアプリケーションへのSwingコンテンツの…

GluonのScene BuilderをNetBeansが認識

JavaFX Scene Builderのバイナリ入手先 - torutkの日記 で、Scene Builderの新しいバージョン(Java 8u40で追加されたJavaFXのダイアログなどの機能)のバイナリがGluon社のサイトで公開されていますが、NetBeansからは認識できないという件を書きました。最…

画面(Scene)を画像ファイルに落とす

id:torutk:20150412 の補足です。セッションの中で、JavaのAPIでごりごり書いた画面から画像ファイルを作ったと話ましたが、その方法についてどこにも言及していませんでした。JUnitテストクラスを作って、テストメソッドを実行するとテスト対象のNodeをScen…

JJUG CCC 2015 Springに参加して(#jjug_ccc)

昨日4月11日(土)は、日本Javaユーザーグループ(JJUG: Japan Java User Group)が主催するカンファレンスが開催されました。年2回、春と秋に開催されています。 http://www.java-users.jp/?page_id=1647今回は29セッションあります。僕もJavaFXのセッショ…

JavaFXアプリケーションクラスにmainメソッドがなくてもよい訳

単独のJavaプログラムを起動するには、staticなmainメソッドを持つクラスをjavaコマンドに指定します。 public class Hello { public static void main(String... args) { System.out.println("Hello, world"); } } ~$ java Hello Hello, world ~$ところが、…

JavaFX Scene Builderのバイナリ入手先

Java SE 8u40以後、OracleからはScene Builderのバイナリ(実行体)提供がなくなりました。その直後、Gluonという会社がScene Builderのバイナリと各OS向けインストーラを提供開始しています。 http://gluonhq.com/products/downloads/さっそくScene Builder…

NetBeans 8.0のソースを追う(Scene Builderの設定)

Scene Builderを自前でビルドしたものをNetBeansの[ツール]メニュー > [オプション] > [Java] > [JavaFX]タブで、Scene Builderホームに設定してみたところエラー(「選択した場所 C:\Program Files\JavaFX Scene Builder には有効なJavaFX Scene Builderイ…

ビットマップフォントの色化け!(アンチエイリアスがかかる)

JavaFX 8で、MSゴシック系フォントのテキスト表示をしてみたら、文字の色は黒なのに、ところどころで青色・赤色に表示される箇所があります。傾向的に、幅1ピクセルの縦線が青や赤になっていることから、サブピクセルレンダリング(LDC)が絡んでいるように…

Scene Builder 2.0.1をビルドする

この日記は、JavaFX Advent Calendar 2014 - Adventarの3日目です。 昨日はalchemicalogicさんのJavaFXでMMDモデルを表示することにチャレンジした – XiPHiA's noteで、 明日はmike_neckさんのJavaFXで画面を作るときにFXMLを小さく作る #javafx #javafx_ja …

JavaFXでアナログ時計のアニメーション

JavaFXのチュートリアルで海外サイトではよく取り上げられている題材にアナログ時計があります。時計盤の上に短針、長針、秒針を重ね、時間の経過とともにそれぞれの針を動かしていくものです。今回、このアナログ時計のプログラミングをしてみました。時計…

画面の背景をCSSで一括設定するには

id:torutk:20140801 で、ペイン(AnchorPane、BorderPane、HBox、・・・などのレイアウトコンテナクラス)はデフォルトのテーマ(caspianやmodena)のCSSファイルにレイアウトコンテナクラス名に対応するセレクタ(クラスセレクタ)が定義されてないので、コ…

JavaFX 8でcssファイルに定義したHBoxのスタイルが反映されない

JavaFXではGUI部品の見栄え(背景色、フォントなど)をAPIから設定する他に外部CSSファイルに記述して設定することが可能です。例えば、Labelの見栄えについてはCSSファイルに次のように記述し、読み込ませることですべてのラベル部品の表示に反映できます。…

ユーザー操作イベントを一括で拾うには?

デバッグやログなどの目的で、JavaFXのGUI上で発生したイベントを一括して取得する方法を調べてみました。簡単に見つかると思っていたら、ちょっとはまりました。Swingであれば、EventQueueをいじれば取れるのですが、JavaFXはそれらしいクラスが見当たりま…

シェープファイル形式の地図データを読んでJavaFXで描画する

電子地図データの形式としてよく使われるシェープファイル形式(ベクターデータ)の地図データを読み込んで、投影変換をしてJavaFXで描画するという流れを確認するサンプルプログラムを作成しました。JavaFXとベクター地図表示 - ソフトウェアエンジニアリン…

CanvasでAffine変換で大いにはまる(数学的センスが足りなかった・・・)

JavaFXのCanvasでお絵かきをして、今風にマウスのホイールで拡大縮小させ、マウスのドラッグ操作で平行移動(パン)させようとして、ずいぶんとはまってしまいました。Java2D(Swing)でも同じような機能があるので、何を今更なところですが・・・やろうとし…

JavaFXの自動テストツールTestFXを始める第1歩

JavaFX Advent Calendar 2013の16日目のエントリーです。 前日のエントリーはYasuyuki Fukaiさんの3D初心者がJavaFXの3Dを使い初めてみた。 : 人生、気合いと具合 - blog、翌日のエントリーはpeko_kunさんです。 はじめに GUIの部分をユニットテストしようと…

JavaFX 3Dの試行錯誤

JavaFX 3Dでテクスチャを貼ったモデルとカメラの移動を盛り込んだプログラムを作っています。 その過程は次のRedmien Wikiページに記載しています。 http://www.torutk.com/projects/swe/wiki/JavaFX_3D%E3%82%92%E7%90%86%E8%A7%A3%E3%81%99%E3%82%8Bカメラ…

JavaFX 3Dの動く環境、動かない環境

JavaOne 2013 SFで、いくつかJavaFX 3Dのセッションを聴講したので、簡単な3D表示プログラムを動かしてみたくなりました。自宅・職場のPCでプログラミングして実行したところ、PCの環境によって動いたもの、動かないものがありました。 試してみた環境 Java…

JavaFXのTableViewを使う画面をシーンビルダーで作成する

JavaFX 2の表(テーブル)コントロールTableViewを使った簡単なサンプルを、SceneBuilderを使って作成する手順を、以前の日記 id:torutk:20121005 に文章で書きました。文章だけでは分かりにくいので、SceneBuilderとNetBeansを使ってJavaFX FXMLアプリケー…

TableViewで既に行として表示済みのデータの列を更新する際の注意点

JavaFX 2のTableViewを使う際、行データをインサート、削除する場合は自動的に描画が更新されます。しかし、既にTableViewが抱える行データの列(属性)の値を変更するときは、注意点が必要です。次のJavaFXのチュートリアルでTableViewのサンプルが紹介され…

UIコントロールの背景色を動的に変更する

JavaFXでUIを作成する際、例えばテキストフィールドに入力した文字列に誤りがあった場合にそのテキストフィールドの背景色を変えることで入力誤りをユーザーに通知する方法があります。とくに入力項目が多い場合に有効な手段です。JavaFXのUIコントロール(…

第8回JavaFX勉強会 資料集

開催概要 JavaFXユーザーグループ主催で2012年11月30日(金)19:00-21:00に日本オラクル青山センターで開催されました。 第 8 回 JavaFX 勉強会 - connpass セッション・LT資料 slideshareのコンテンツをはてな日記に貼るノウハウがないのでリンクだけ・・・…

Windows OS上でのJavaFX Scene Builder 1.1プレビュー版とNetBeans 7.3開発版の組み合わせについて

JavaFX Scene Builderは、現時点で正式版の1.0と、開発中の1.1アーリーアクセス版がOracleのJavaFXツールページから入手可能です。 http://www.oracle.com/technetwork/java/javafx/tools/index.html Windows用は、"Windows 32/64 bit (msi)"と記載されてい…

依存するJARがあるJavaFXアプリケーションの実行可能JAR作成

JavaFX Advent Calendar 12月3日担当です。11/30開催の「第8回JavaFX勉強会」(日本JavaFXユーザーグループ主催)で、「ダブルクリックで起動する JavaFX アプリケーション JAR の仕組み 」を発表をしてきました。この発表では、作成するプログラムがJava SE…

JavaFXのTableViewをScene Builderで作成

JavaFXのTableViewは、SwingのJTableとは随分と景色が違って、データの表示のさせ方でさ迷ってしまいました。いくつかあるTableViewのサンプルは、Javaコードで記述したものか、FXMLを手で作成しているもので、Scene Builderで作る場合のずばりの記述がなか…

javafxpackagerコマンドでクラスパス指定なしにJavaFXアプリを実行するJARの生成

NetBeans 7.2で作成したJavaFXアプリケーション起動の謎 - torutkの日記の続きです。 NetBeansでJavaFXアプリケーションプロジェクトを用いて作成したプログラムのJARファイルは、JavaFX関連のクラスパスを指定せずとも実行可能でした。これと同じことを、Ne…

JavaFX 2関係資料

JavaFX 2に関して、今年に入ってJavaOne Tokyoや勉強会などがあり、日本語での情報が充実してきています。それらの情報へのリンク一覧があると便利だなと思い、集めてみました。個人ブログページも多く書かれているようです。参考になったページを今後随時追…

NetBeans 7.2で作成したJavaFXアプリケーション起動の謎

NetBeans 7.2の新規プロジェクト「JavaFX アプリケーション」で作成したプログラムは、JavaFX ライブラリのJARファイルをクラスパスに指定することなく実行できます。試しに、NetBeansで[ファイル]メニュー>[新規プロジェクト...]で、カテゴリ欄で[JavaFX]を…

JavaFX 雑多メモ

JavaFX 勉強会(第7回) 日本JavaFXユーザグループ主催で7/2に開催された勉強会に参加してきました。 第7回JavaFX勉強会 togetter http://www.slideshare.net/katakai/netbeans-72-javafx-support Scene BuilderでFXML LTの資料はtogetterから。 スレッディ…

JavaFX 2でアプリケーション作成(その14)

JavaFX 2でアプリケーション作成(その13) - torutkのブログの続きです。FXMLにコントローラクラスを定義しました。Java側コードでコントローラクラスのインスタンスを使用したいときは、FXMLを読み込んだFXMLLoaderのgetControllerメソッドで取得します。…