JavaFX TableViewオブジェクトに自分自身のデータを取り込むことができません。プログラムのニーズに合わせてthe code found hereを修正しようとしました。 このチュートリアルで使用したテーブルを追加し、正しく表示します。そのコードをコピーして2番目のテーブルを作成しましたが、2番目のテーブルにデータを表示することができません。Javafx - データをTableViewに取得できません。
私はSNMPInterfaceクラスからのデータを受け入れるようにコードを適切に変更したと信じています。私は静的なデータでテーブルを作成しようとし、後でファイルからデータを読み込もうとします。いずれのプロセスも機能しませんが、どちらの場合でも適切なヘッダーで列が作成されます。
My full project can be found on GitHub。
は当初、私は「SNMPInterface」クラスオブジェクトのテーブルビューオブジェクトを作成します。
private TableView<SNMPInterface> interfaceTableView = new TableView<>();
私はその後、SNMPInterfaceオブジェクトのObservableListを作成します。
private final ObservableList<SNMPInterface> interfaceData =
FXCollections.observableArrayList(
new SNMPInterface("99", "testlo"),
new SNMPInterface("98", "testeth1"),
new SNMPInterface("97", "testeth2"),
new SNMPInterface("96", "testbond0")
);
その後、私は 'の列を作成しますifIndex 'データメンバー:
TableColumn< SNMPInterface, String > ifIndexCol = new TableColumn<>("Index");
ifIndexCol.setCellValueFactory(new PropertyValueFactory<>("ifIndex"));
...' ifDescr 'の2番目の列:
TableColumn ifDescrCol = new TableColumn("Description");
ifDescrCol.setCellValueFactory(new PropertyValueFactory<>("ifDescr"));
私は、(ルートノードの名前)GridPaneに追加してみてください。
interfaceTableView.setItems(interfaceData);
interfaceTableView.getColumns().setAll(ifIndexCol, ifDescrCol);
rootNode.add(interfaceTableView, 0, 7, 2, 1);
...しかし、それは動作しません。
私はデータは、データが正しくファイルから読み込まれていることを確認する方法、および第二に利用可能であることを確認するためのループを持っています。両方のコンテナは有効なデータを持っているようですが、どちらもそれを自分のテーブルに入れません。
私のテーブルには、効果的に、チュートリアルのテーブルと同じのようですが、明らかに私はどこかのエラーを作っています。誰が私のエラーがどこに見えるのですか?
ダイヤモンドコンストラクタなしでコードを試しましたか? –
はい。それは私が削除するダイヤモンドに応じて、 "チェックされていない呼び出し"または "チェックされていない割り当て"になります。ダイヤモンドの組み合わせは、私は動作することが判明していることはありません。 –
'SNMPInterface'は' ifIndexProperty() 'と' ifDescrProperty() 'というpublicメソッドを持っていますか? –