我是JavaFX的新手,所以也许这很容易做到 . 我有 ListView<String> ,我想要的是我可以有一个按钮,按下时,基本上将所选的字符串转换为一种文本字段,您可以在其中编辑该特定项目的名称 . 我希望很清楚我想要什么 . 我已经尝试了 list.setEditable(true) ,但这并没有改变任何东西 .
ListView<String>
list.setEditable(true)
首先,我在这种情况下使用填充TextFields的VBox . 那些TextFields应该将editable属性设置为false . 当您单击按钮时,您可以致电:
((TextField)vbox.getChildren().get(numberofTextFieldInList)).setEditable(true);
现在它应该是可编辑的 . 如果你希望TextFields在不可编辑时看起来像字符串,我会修改美学属性 .
除了使 ListView 可编辑之外,您还需要确保使用 cellFactory 提供可编辑单元格:
ListView
cellFactory
list.setEditable(true); list.setCellFactory(TextFieldListCell.forListView());
这样,您可以在双击单元格时开始编辑 .
2 回答
首先,我在这种情况下使用填充TextFields的VBox . 那些TextFields应该将editable属性设置为false . 当您单击按钮时,您可以致电:
现在它应该是可编辑的 . 如果你希望TextFields在不可编辑时看起来像字符串,我会修改美学属性 .
除了使
ListView
可编辑之外,您还需要确保使用cellFactory
提供可编辑单元格:这样,您可以在双击单元格时开始编辑 .