私はこのJavaFX2ガイドに従おうとしています。
http://docs.oracle.com/javafx/2/ui_controls/table-view.htm#CJAGAAEE
私はJavaの代わりにScalaを使用していますが、私にとっては次のようになります。
<TableView fx:id="test">
<columns>
<TableColumn prefWidth="75.0" text="Message" />
</columns>
</TableView>
そしてコード:
val c = test.getColumns.get(0) // Get the first column.
c.setCellValueFactory(new PropertyValueFactory[Foo, _]("message")) // Foo is my model with a single SimpleStringProperty called "message".
val observableFoos = FXCollections.observableList(foos)
test.setItems(observableFoos)
私が抱えている問題は、そのsetCellValueFactory
行が次の原因になることです。
エラー:クラスタイプが必要ですが、javafx.scene.control.cell.PropertyValueFactory [com.myapp.models.Foo、_]がc.setCellValueFactory(new PropertyValueFactoryFoo、_)を検出しました
この方法をどのように使用するのかわかりません。に置き換える_
とString
、次のようになります。
エラー:タイプの不一致。見つかった:javafx.scene.control.cell.PropertyValueFactory [com.myapp.models.Foo、String]必須:javafx.util.Callback [javafx.scene.control.TableColumn.CellDataFeatures [com.myapp.models.Foo、?0 ]、javafx.beans.value.ObservableValue [?0]]ここで、タイプ?0 c.setCellValueFactory(new PropertyValueFactoryFoo、String)
行を削除すると、すべてが正常に機能することを確認できますsetCellValueFactory
。テーブルにコンテンツが表示されないだけです。期待どおりに行が空白になっているだけです。