ビューに TreeTableView コントロールがあり、これには 2 つのラベルで構成される列があります。つまり、実行時にセルがレンダリングされ、2 つのラベルが表示されます。
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) でさえ効果がありません (コーディングのコメントセクションを参照)