私はthis Oracle tutorialの後にFXMLでTableViewを作成しました。しかし、セルを編集可能にする方法に関する情報はありません。コントローラコードにfirstNameCol.setOnEditCommit(new EventHandler ...
のようなものを追加することを提案している他のチュートリアルを試しましたが、動作しませんでした。ここに見られるように、どんなに私は、マウスをクリックするか、キーボードをパンチする方法、表のセルには、「編集可能なテキストボックス」に変更しません。ここでFXMLで編集可能なTableCellを定義する方法は?
は、テーブルの私のFXML定義です:
<TableView fx:id="tvAlgorithmSteps" editable="true" maxHeight="1.7976931348623157E308" maxWidth="1.7976931348623157E308" prefHeight="200.0" VBox.vgrow="ALWAYS">
<columns>
<TableColumn editable="true" prefWidth="150.0" sortable="false" text="Step">
<cellValueFactory>
<PropertyValueFactory property="stepName" />
</cellValueFactory>
</TableColumn>
...
オートコンプリートを使用すると、FXMLのTableColumnにonEditCommit=""
を設定することができますが、そこに何を入れるべきかはわかりません。
FXMLを編集してセルの編集を許可する方法を教えてください。
これは、SimpleStringPropertiesを介してモデルオブジェクトの値を変更するのに十分であると考えられますか?または私は何かを逃している? – Leprechaun
@Leprechaunプロパティ(例えば 'StringProperty stepNameProperty()')を返すプロパティゲッターがある限り、動作するはずです。http://stackoverflow.com/documentation/javafx/2229/tableview/7289/propertyvaluefactory#tを参照してください。 = 201608121148083945414 – fabian