質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
JavaFX

JavaFXとは、Java仮想マシン上で動作するリッチインターネットアプリケーション (RIA) のGUIライブラリです。Swingとは異なり、FXMLと呼ばれる XMLとCSSを併用してデザインを記述します。

Q&A

解決済

1回答

2706閲覧

Scene Builderでtableviewの中身作成方法

Begi

総合スコア56

JavaFX

JavaFXとは、Java仮想マシン上で動作するリッチインターネットアプリケーション (RIA) のGUIライブラリです。Swingとは異なり、FXMLと呼ばれる XMLとCSSを併用してデザインを記述します。

0グッド

0クリップ

投稿2019/01/17 23:49

前提・実現したいこと

Scene Builderを使い、ディスプレイアプリを作成しています。
tableviewを使い静的な表を作成しようと思ったのですが、
javaで動的に行を追加する方法はあるようですが、
Scene Builder上で静的に行を追加して中身を作成する方法がわかりません。
そもそも可能なのか、ご教授いただけないでしょうか。

以下の条件で表を作成しようと思っています。
・列数、行数は固定
・表の中身にチェックボックスやテキストフィールドを配置して、ユーザに編集してもらう
・一定の高さでスクロールさせる

最初はGridPaneで実装していましたが、スクロールさせる必要がありtableviewではないと難しいのではと思いましたが上記の問題が発生しています。

よろしくお願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

Scene Builder上で静的に行を追加して中身を作成する方法がわかりません。

FXMLを直接編集してListViewやTableViewのitemsプロパティーの初期値を設定することは可能なのですが、自分が知る限り残念ながらそれをScene BuilderのUI操作で行うことはできないと思います。

また「初期値だけはFXMLを編集する」ことを許容するとしても、ListView<String>などの簡単なものならまだしも、TableViewの場合は簡単に行えないと思います。TableViewの要素型は普通アプリケーション固有のクラスなはずで、Scene Builderにはそのようなアプリケーション固有のクラスを認識するための機構が不十分なため、割と面倒な段取りが必要で、あまりお勧めな方法ではなさそうです。そもそも自分でもその面倒な方法をやりたいと思わないのです。
またもし初期値が設定できたとしてもTableColumnのTableCellValueFactoryをSceneBuilderのUIで設定できないのでどのTableColumnがデータクラスのどのフィールドに紐づくかを定義できないと思います。つまり初期値があってもプレビューが出せないので面白くありません。

というわけで、TableViewの初期値をSceneBuilder上で編集したりプレビューしたりするのはあきらめコントローラーのinitializeメソッドで初期化するのをお勧めします。

投稿2019/01/18 03:24

KSwordOfHaste

総合スコア18394

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Begi

2019/01/18 04:20

詳細にご回答いただきありがとうございます。 自分の調べ方が悪いのか情報が出てこず、出来ないことはないだろうと調べていたのですが…GUIではできなかったのですね。 Javaで実装したいと思います。ありがとうございました。
KSwordOfHaste

2019/01/18 04:31

書き忘れましたが、 > スクロールさせる必要がありtableviewではないと難しいのでは GridPaneはScrollPaneと併用してスクロールすることもできますが、 *カラムラベルを常に表示(A) *内容だけスクロール しようとするとやはりTableViewがよさそうです。ただ(A)が必要ないならGridPaneもアリかも知れません。
Begi

2019/01/18 07:47

追記いただきありがとうございます。 Aはやはり必要かと思いますので、今回はTableViewで対応しようと思います。 ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問