JavaFX

はじめての JavaFX 3D

JavaFX

今回はちょっと背伸びをして、3D を試してみたいと思います。

先日、シリンダーをちょこっと作ってみて割と簡単に作れるんだと思い調子ぶっこく私です。

実は Getting Started with JavaFX 3D Graphics と言うチュートリアルが出ました。

しかし、バリバリの英語なので良く解りません。

いつものことですがそれは置いといて、あーでもない、こーでもない、と JavaFX 3D API と戯れてみました。

そういうことなので適当なことをいつもと同じようにしてます。(^_^;)

今回は下の画像のようなものを作って、スライダーでグリグリ動かせるようにしてみました。

1

2

3

4

また、X軸とY軸だけですけどレイアウトの変更もスライダーでできるようにしてみました。

ついでにライトと反射光も設定できるようにしました。

リセットスイッチとカメラ関係もと思いましたがめんどくさくなってきたので止めにしました。(ヲヒ

それではいい加減で適当なプログラムですが載せておきますね。

間違い等ありましたら優しく御教示くださいませ!

いつものように動画もサービスです!

余計なお世話でしょうが Java 8 実行環境の勇者様にはこちらをお試しでします。

Webstart: click to launch this app as webstart (Java 8 実行環境必須)

Hatena タグ:

非同期処理を試してみた。

JavaFX

JavaFX をはじめてからいろいろ解らないことがあって思うように進まない。

9月、10月は個人的にいろいろ面倒な季節であってそのうちにクリスマスやお正月と忙しくなる。

それでも少しだけでも! と今回は「JavaFX 2ではじめる、GUI開発 第14回 非同期処理 」を試してみる。

デスクトップアプリでは必ず必要となる技術だけに記事の解説も丁寧に書かれていました。

感謝感激!です。

非同期処理を実装するにあたって JavaFX には Task クラスがありそれが便利に使えます。

また、Platform.runLater(() –> { // … });

でスレッドを起こすことができてだいたい Swing でできていたことは可能なようです。

詳しくは上記の記事をご覧になることをお勧めします。

まだ、記事を読んだだけでいろいろ試してはいないのですが、「スレッド間のデータ交換」が面白そうだったので

実際に動かしてみました。

NetBeans プロジェクトのサンプルプログラムがダウンロードで提供されていたので非常に助かります。

ただ、ローカルのファイルを開くとあまり重い処理にはならないので解りにくかった。

そこで JavaFX と openJDK のサイトの HTML ファイルを取得して表示させるようにしてみました。

結局、あーでもない、こーでもないと下の動画のようなものができあがってしまいました。(^_^;)

おまけに自信の無い不安なソースコードも載せておきますので間違い等ありましたら教えていただければ幸いです。

もっといろいろ遊んでみたいけど解らないことが多すぎて調べる時間が足らない。(>_<。)

一日の時間が私だけ30時間にならないかと思う今日この頃です。

あっ、もう一つおまけに Java 8 を使っている新しい物好きな人は気が向いたらためしてみてください。

Webstart: click to launch this app as webstart (Java 8 実行環境必須)

Hatena タグ:

JavaFX の TableView を試してみた。

JavaFX

今日は TableView を試してみました。

もちろん今回も JavaFX 2で始めるGUI開発 を参考にさせていただいてます。

この記事のサンプルのままだと面白みが減ってしまうので少し変えてます。

といっても大したことは出来るはずがありません。

何故なら今日初めて TableView を触ったからです。(^_^;)

そういうことでこんなのができました。

ControlsFX の Rating も使ってみました。

1

 

選択時に TextArea に各項目を表示させてみました。

2

3

4

 

Title と Author を編集可能としました。

6

 

Title と Author はソート可能の設定としました。

Rating は挫折しました。(>_<。)

7

 

Rating を変更できるようにしました。(変更できないようにする方法が解らなかった)

8

9

 

以上のように簡単なことしかやっていません。

今回テーブルの選択位置変更イベントの取得に ChangeListener を使っていたのですが null が来るのでどうしたものかと悩んでました。

そこで InvalidationListener を使ってみました。

ただ InvalidationListener を使っても選択位置変更イベント時に null はやってきます。

つまり、null チェックは必要だということですね。

私の直感によると(何故調べない)選択位置変更時に古い値を null にしてから新しい値を取得しているんじゃないかと思います。

でも、InvalidationListener はBeanが実際に使われるときに変更のチェックを行うイベントなのでこちらのほうが良いそうです。

まだ情報収集が足らないのでいろいろ躓いて半泣き状態になってしまいますがプログラムが動いてくれると素直によろこべます。

詳しい内容は先述しました私が参考にしているサイトに詳しい解説があります。

ただ私がおもしろ半分で追加したことは載っていませんのでこのプログラムのコードを晒しときます。

初めての TableView なので間違いがあればご指摘くださいませ。

ついでに動画と Java Web Start も貼っておきますね。

Webstart: click to launch this app as webstart (Java 8 実行環境必須)

Hatena タグ:

ControlsFX の Dialog を試してみた。

JavaFX

JavaFX には標準で Dialog Box が無い!

なんで無いのかは解らないけど JavaFX 8 なら外部ライブラリーの ControlsFX の Dialog が使えるようです。

ちょっと試してみました。

リストから選択された Dialog を表示させて Dialog での処理をテキストエリアに表示させるだけのシンプルなプログラムです。

こんな感じで動きました。

1

2

3

4

5

6

7

8

9

10

11

12

かなり良い感じの Dialog Box になってます。

ただ、Font Dialog は標準出力に勝手に表示されます。デバッグ用のが残ってるんでしょうか?

それと気になるのは Choice Input Dialog でデフォルトを設定した場合、デフォルト選択のまま Ok ボタンを押すと null が返されるのは何故なんだろう?

私的に少し馴染めない仕様になってるところがあるのでちょっと注意が必要です。

それでは Java 8 環境が必要ですがこのプログラムのコードと Java Web Start を貼っておきますね!

Webstart: click to launch this app as webstart (Java 8 実行環境必須)

Hatena タグ:

ImageGetter (JavaFX) での覚え書き

JavaFX

この前、JavaFX の学習がてらに創った ImageGetter というお遊びプログラムでの覚え書きです。

イメージを取得して画像を表示させる処理と、その画像を保存させる処理を書いておきます。

プログラム全体を載せようと思ったのですが無駄に長いのと JavaFX 初心者ということもあって間違ってるかもしれないので。(^_^;)

見たいって人がいれば暇をみつけてプログラム全体をアップするか考えます。

解説は無いですが何をしているか解るようにコメントをいれてあります。

あと ImageView のサイズ調整に ImageGetter.java の starat メソッドに

としてます。

縮小率は適当です。(やってることも適当です)

こんなことしなくても良い方法があるかもしれませんが解らなかったので諦めてこうしました。(^_^;)

あと Dialog でも少しはまったのでそのことも書こうかと思ったのですが標準ライブラリでない無いからやめておきます。

なんで Dialog が標準ライブラリでないのか疑問ですがこの先どうなるのかまだ解らないですしね。

最後に、くどいようですが間違ってるかもしれないのでおかしなところがあれば笑って許してくださいね。(^_^)

Hatena タグ:

« 古い記事 新しい記事 »