java – :选择的伪类样式不适用于单元格
我在场景中有一些TableView,我想要突出显示所选的单元格.根据
JavaFX CSS reference,有一个伪类:在Cells上选择,所以我尝试了以下css:
.cell:selected { -fx-effect: dropshadow(gaussian,10,.2,4,4); } 但风格不适用于细胞.当我使用.cell时:悬停它按预期工作. 以下是简化的FXML: <Pane fx:controller="Controller"> <children> <TableView fx:id="table" /> </children> </Pane> 我正在使用它作为控制器: public class Controller implements Initializable{ @FXML private TableView<SomeClass> table; // some other things @Override public void initialize(URL url,ResourceBundle bundle) { Objects.requireNonNull(table,"Table was not injected"); // create columns,initialize other stuff table.getColumns().clear(); table.getColumns().addAll(/*some columns */); table.setEditable(false); table.getSelectionModel().setSelectionMode(SelectionMode.SINGLE); table.setColumnResizePolicy(TableView.CONSTRAINED_RESIZE_POLICY); } } 为什么CSS不能应用于选定的单元格? 解决方法
这里的问题是JavaFX处理单元格和行的选择的方式.
让我们暂时参考
我们可以得出结论,您的单元格未标记为已选中,因为您处于行选择模式. .table-row-cell:selected .cell { -fx-effect: ...; } 您可以结合以下内容使其更有用:CellView选择和:TableView上的行选择: .table-view:row-selection .table-row-cell:selected .cell,.table-view:cell-selection .cell:selected { -fx-effect: ...; } 无论TableViewSelectionModel的操作方式如何,都将应用于选定的单元格 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- java包名称约定失败
- java – 当我们有坐标列表时,如何在JTS中创建一个多边形?
- java – 如何使用InputStream转换或初始化ImageInputStream
- BlackBerry InputStream to String转换
- mybatis 使用jdbc.properties文件设置不起作用的解决方法
- java – 强制抽象方法执行预定义代码 – 类似于重载的retur
- Java Object to JSON
- Struts2 ServletActionContext.getRequest()方法:获取Http
- java – 为什么这个字节没有异常?
- java – 从xhtml文件创建jsf视图/组件树