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 タグ: