Android、Java、Web系、Linux、マラソン等の備忘録

2014/04/22

JavaFXでListViewのrowをfxmlから読み込む

0 件のコメント
こちらに、ListViewへ動的にrowを設定するサンプルが掲載されています。
ListViewやTableViewのセルをカスタマイズする方法 (JavaFX Advent Calendar2013 7日目) - AOEの日記
http://d.hatena.ne.jp/aoe-tk/20131206/1386345344
そのGistのソース
JavaFX Advent Calendar 2013 の 7 日目のエントリ、「ListViewやTableViewのセルをカスタマイズする方法」のソースコードです。
https://gist.github.com/aoetk/7827455
参考にさせていただきながら、rowの部分をJavaFX Scen Builderで作成して動的に読み込むコードを作成してみました。

記事本文ではTextが使われてましたが、とりあえず馴染みのあるLabelを配置してfxmlを作成してみました。
listCellItem.fxml

2つ目のLabelは折り返せるようプロパティのWrap Textにチェックを付けます。あと、各項目にfx:idを設定します。idは記事のBookmarkCell.javaのprivateフィールド名と同じにしてます。あと、適当にフォントサイズを変更しました。

javaファイルの方の変更点は、BookmarkCell.javaだけです。
privateフィールドにはText → Labelに変更しFXMLアノテーションを付けておきました。
initStyle()はScen Builderの方でやってるので、削除。initComponent()でfxmlファイルを読み込むようにしてます。boundの判定のところも、Scen BuilderでLabelのプロパティでやってるので削除しました。

ソース


実行結果


とりあえずこんなところで。これをベースに画像とかも表示できるようにしていきたいところです。


0 件のコメント :

コメントを投稿