DOM*_*DOM 4 java javafx javafx-8 javafx-css
如何在tableview中只对齐一列的标题?
以下css对齐所有列标题,但我想只对齐一列:
.table-view .column-header .label{
-fx-alignment:CENTER
}
Run Code Online (Sandbox Code Playgroud)
voi*_*256 13
您现在可以使用最新版本的JavaFX执行此操作.
Java 1.7
这适用于Java:1.7.0_45/JavaFX:2.2.45-b18).它应该是最新版本,因为它需要RT-14909
列标题将自动获得与TableColumn相同的"Id"!因此,您的TableColumn需要一个(CSS-)Id,您可以直接在Scenebuilder中为TableColumn设置或使用某些代码tableColumn.setId("my-special-column").
然后,您可以使用Id直接设置列标题的样式:
.table-view .column-header#my-special-column .label {
-fx-alignment: CENTER_RIGHT;
-fx-text-fill: red;
}
Run Code Online (Sandbox Code Playgroud)
PS:这让我有点令人沮丧的1.5小时才弄明白.希望这有助于其他人吧!
Java 8
由于我不理解的原因,id技巧不再适用于Java 8.但是,我们可以做的是直接为列设置styleClass(内部传播到TableColumnHeader)并在css文件中更改此styleClass:
在Java中:
firstNameCol.getStyleClass().add("my-special-column-style");
Run Code Online (Sandbox Code Playgroud)
在CSS中:
.my-special-column-style .label {
-fx-alignment: CENTER_RIGHT;
-fx-text-fill: red;
}
Run Code Online (Sandbox Code Playgroud)
适用于Mac OS X上的jdk1.8.0_05.
| 归档时间: |
|
| 查看次数: |
8959 次 |
| 最近记录: |