JavaFX8-如何在FXML中声明TableView行工厂

JavaFX8-如何在FXML中声明TableView行工厂,java,javafx,tableview,row,Java,Javafx,Tableview,Row,我有一个功能齐全的行工厂,用java完成,但我想(如果可能的话)将其迁移到与控制器关联的.fxml文件中。这是我目前拥有的工作代码: tableView.setRowFactory( tv -> { TableRow<Loan> row = new TableRow<>(); row.setOnMouseClicked( clickEvent -> { // If an item is clicked.

我有一个功能齐全的行工厂,用java完成,但我想(如果可能的话)将其迁移到与控制器关联的.fxml文件中。这是我目前拥有的工作代码:

tableView.setRowFactory( tv -> {
            TableRow<Loan> row = new TableRow<>();
            row.setOnMouseClicked( clickEvent -> {  // If an item is clicked.
                if ((clickEvent.getClickCount() == 1) && (!row.isEmpty())) {    // Item was clicked once and the row is
                    // not empty
            });
            return row;
        });
tableView.setRowFactory(电视->{
TableRow行=新TableRow();
row.setOnMouseClicked(如果单击了项目,则单击事件->{//)。
如果((clickEvent.getClickCount()==1)&&(!row.isEmpty()){//项目被单击一次,并且该行为
//不空
});
返回行;
});
同样,这也是出于我的目的(请注意,为了便于阅读,我删除了工厂的功能)但我觉得我的项目中有些功能在控制器中,有些功能在.fxml中,这让我觉得不一致。我找不到任何关于行工厂声明的内容,我希望有人以前做过。到目前为止,我只做了:

<rowFactory>

</rowFactory>

所以我知道这里有一些东西可以处理,但似乎没有任何明显的选择让我继续,比如“onMouseClicked”等等


请告知!

您不能,除非您定义了一个实现
回调的独立类。
。此时,您还可以在控制器中执行该操作。