Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
单击时Javafx TableView更改颜色单元格_Javafx_Tableview_Background Color_Tablecell - Fatal编程技术网

单击时Javafx TableView更改颜色单元格

单击时Javafx TableView更改颜色单元格,javafx,tableview,background-color,tablecell,Javafx,Tableview,Background Color,Tablecell,我用javafx制作了一个tableview,但我想更改我单击的单元格的背景颜色。这就是我现在拥有的: tabel.getSelectionModel().setCellSelectionEnabled(true); tabel.getSelectionModel().setSelectionMode( SelectionMode.MULTIPLE ); tabel.setOnMouseClicked(new Ev

我用javafx制作了一个tableview,但我想更改我单击的单元格的背景颜色。这就是我现在拥有的:

 tabel.getSelectionModel().setCellSelectionEnabled(true);
        tabel.getSelectionModel().setSelectionMode(
                SelectionMode.MULTIPLE
        );
        tabel.setOnMouseClicked(new EventHandler<MouseEvent>() {
            @Override
            public void handle(MouseEvent event) {
                if (event.getClickCount() > 0) {
                    TablePosition cell =    tabel.getFocusModel().getFocusedCell();
                    tabel.edit(cell.getRow(), cell.getTableColumn());
                    tabel.getSelectionModel().select(cell.getRow(), cell.getTableColumn());
                    System.out.println(cell.getRow()*scherm.getNumberOfColumns()+cell.getColumn());
                }
            }
        });
tabel.getSelectionModel().setCellSelectionEnabled(true);
tabel.getSelectionModel().setSelectionMode(
SelectionMode.MULTIPLE
);
tabel.setOnMouseClicked(新的EventHandler(){
@凌驾
公共无效句柄(MouseeEvent事件){
如果(event.getClickCount()>0){
TablePosition单元格=tabel.getFocusModel().getFocusedCell();
编辑(cell.getRow(),cell.getTableColumn());
tabel.getSelectionModel().select(cell.getRow(),cell.getTableColumn());
System.out.println(cell.getRow()*scherm.getNumberOfColumns()+cell.getColumn());
}
}
});
现在我只打印单元格的编号,但我还想更改该单元格的背景色。
有什么想法吗?如果我的代码中有不清楚的地方,请询问。

为什么要涉及选择模型和焦点模型?为什么要在表格上而不是在单元格工厂中创建的单元格中设置单击处理程序?这里的实际目的是什么?如果只是改变聚焦单元格的背景颜色,最好使用CSS。或者你真的想做些什么?(显然,你无法描述你的整个项目,但这看起来像是你在要求修复一个解决方案,而这个解决方案对于你试图解决的任何问题都是错误的解决方案。一些上下文确实会有所帮助。)