JavaFXでテーブルを作成しています。すべての行にテキストがあります。 1つの行にグラフィックが表示されるのは、そのセルのテキストに複数の色があるためです。JavaFX - 他の行よりも大きいTableColumnグラフィック
特定の条件が真である場合のみ(一部作品)適用コード:
departTimeCol.setCellFactory(column -> new TableCell<Ride, String>() {
@Override
protected void updateItem(String item, boolean empty) {
super.updateItem(item, empty);
setText(item);
if(item != null && ! empty){
if(item.matches("^([0-9]|0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]\\s\\+[\\d]")) {
Text timeText = new Text(item.split(" ")[0].trim() + " ");
Text delayText = new Text(item.split(" ")[1].trim());
delayText.setFill(Color.RED);
TextFlow flow = new TextFlow(timeText, delayText);
setText(null);
setGraphic(flow);
}
}
}
});
結果は:
行赤+2では、グラフィックであります。他のすべての行にはテキストが含まれます。グラフィックを含む行を同じ高さにするにはどうすればよいですか?
ありがとうございました。私はあなたの解決策を試しましたが、+2は赤にならない:/ – Matthijs
ああ、私の悪い。 setPrefHeightを設定しました! – Matthijs