首页 > 编程语言 >javafx 问题整理

javafx 问题整理

时间:2022-11-29 23:34:11浏览次数:44  
标签:setVisible javafx 问题 点击 rowData 整理 getCircle data row

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

相关文章