我在场景中有一些TableView,我想突出显示选定的单元格。按照JavaFX CSS reference,对细胞伪类:selected
,所以我尝试了下面的CSS::选定的伪类型风格不适用于单元格
.cell:selected {
-fx-effect: dropshadow(gaussian, 10, .2, 4, 4);
}
但风格不会应用到单元格。当我使用.cell:hover
时,它按预期工作。
下面是一个简化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中不能应用到所选单元格?