CheckBoxTableCell:单击时更改Cursor

时间:2017-04-06 19:22:14

标签: javafx tableview

我的TableView列有CheckBoxTableCell列。

我想抓住单元格的选择并将Cursor更改为Cursor.WAIT

单击该单元格将导致某些db-query发生,这将花费几秒钟。我想通知用户正在发生的事情并且应用程序不仅仅会死亡。

@FXML
private TableColumn<IOrigin, Boolean> cActive;

@Override
public void initialize(final URL location, final ResourceBundle resources) {
cActive.setCellFactory(tc -> new CheckBoxTableCell<>());
[..]

}

聆听CheckBoxTableCell#selectedProperty()不起作用,它不会触发任何更改事件。

列单元格通过fxml绑定到bean属性。

<TableColumn text="Active" editable="true" fx:id="cActive">
<cellValueFactory>
<PropertyValueFactory property="active" />
/cellValueFactory>
</TableColumn>

1 个答案:

答案 0 :(得分:0)

With the cells show CheckBox in TableView:

  • 请注意,CheckBoxTableCell呈现CheckBox'live',这意味着CheckBox始终是交互式的,可以由用户直接切换。
  • 这意味着单元格不必进入编辑状态(通常是用户双击单元格)。
  • 这样做的副作用是不会调用通常的编辑回调(例如编辑提交)。
  • 如果您希望收到更改通知,建议直接观察CheckBox操纵的布尔属性。