TableTreeView(JavaFx 8):无法在单元格中设置标签的字体颜色

时间:2016-01-05 17:55:34

标签: javafx scalafx

我的视图中有一个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)都没有效果(请参阅编码中的注释部分)

0 个答案:

没有答案