我的视图中有一个TreeTableView控件,它有一个列,由两个标签组成。也就是说,在运行期间,通过显示两个标签来呈现单元格:
class ItemCell extends TreeTableCell[InventoryModelItem, InventoryModelItem] {
val hbox = new HBox()
val actionLabel = new Label()
actionLabel.styleClass.add("label-hotkey")
val itemLabel = new Label()
hbox.children.addAll(actionLabel, itemLabel)
setGraphic(hbox)
override def updateItem(item: InventoryModelItem, empty: Boolean): Unit = {
if (!empty && item != null) {
actionLabel.setText(item.action.getOrElse(""))
itemLabel.setText(item.displayName)
}
//setTextFill(Color.BLUE);
//setStyle("-fx-background-color: yellow");
}
}
我想要实现的是动作标签以不同的风格呈现。因此我通过actionLabel.styleClass.add(" label-hotkey")设置它。 css风格一般被认可:
.label-hotkey {
-fx-font-size: 11pt;
-fx-font-family: "Droid Sans Mono";
-fx-text-fill: yellow;
-fx-opacity: 0.6;
}
例如,渲染期间会考虑-fx-font-size。问题是-fx-text-fill被忽略,因此标签的颜色不是黄色。
那么,我在这里做错了什么?
编辑:甚至setTextFill(Color.BLUE)都没有效果(请参阅编码中的注释部分)