1

ビューに 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) でさえ効果がありません (コーディングのコメントセクションを参照)

4

0 に答える 0