tableView
增加行点击事件,可拿到每列的数据然后做处理
这个行点击事件的clickCount总数 没有找到办法清零,导致点击数只增不减少,可以采取求模的办法判断点击次数,有知道解决办法的大佬们看到指点一下!
tv.setRowFactory(tview -> {
TableRow<CodeData> row = new TableRow<>();
row.setOnMouseClicked(event -> {
System.out.println(event.getClickCount() % 2 + "次");
// 点击两次 且 row不为空
if (event.getClickCount() % 1 == 0 && (!row.isEmpty())) {
CodeData rowData = row.getItem();
if (rowData.getCircle().isVisible()) {
rowData.getCircle().setVisible(false);
} else {
rowData.getCircle().setVisible(true);
}
}
});
return row;
});
连续点击某行无效,换行点击才有效的事件
// tv.getSelectionModel().getSelectedCells().addListener(new InvalidationListener() {
// @Override
// public void invalidated(Observable observable) {
// ObservableList<TablePosition> tbs = (ObservableList<TablePosition>) observable;
// tbs.forEach(e -> {
// System.out.println("多少次");
// if (e.getColumn() == 0) {
// Circle data = (Circle) e.getTableColumn().getCellData(e.getRow());
// if (data.isVisible()) {
// data.setVisible(false);
// } else {
// data.setVisible(true);
// }
// }
// });
//
// }
// });
标签:setVisible,javafx,问题,点击,rowData,整理,getCircle,data,row
From: https://www.cnblogs.com/cfas/p/16937109.html