簡體   English   中英

在JavaFX中的GridPane的特定單元格上設置背景顏色

[英]Set backgound color on a specific cell of GridPane in JavaFX

我想在JavaFX中為特定行的GridPane設置特定列的背景顏色(參見屏幕截圖)。 請描述我該怎么做?

在此輸入圖像描述

您可以為單個單元格添加窗格並為其指定背景顏色。

如果你想在圖片上做一些事情,如果你通過設置Node s上的行跨度將條目添加為TextArea ,可能是最簡單的方法,例如:

grid.add(area, 1, 0);
GridPane.setRowSpan(textArea, 2);

然后,您可以通過使用自己的樣式覆蓋默認CSS來設置TextArea的CSS樣式。

要覆蓋的默認CSS:

.text-area {
    -fx-skin: "com.sun.javafx.scene.control.skin.TextAreaSkin";
    -fx-background-color: -fx-shadow-highlight-color, -fx-text-box-border, -fx-control-inner-background;
    -fx-background-insets: 0, 1, 2;
    -fx-background-radius: 3, 2, 2;
    -fx-padding: 1;
    -fx-prompt-text-fill: derive(-fx-control-inner-background,-30%);
}

.text-area .scroll-pane {
    -fx-background-color: transparent;
}

.text-area .content {
    -fx-padding: 3 5 3 5; 
    -fx-cursor: text;
}

.text-area:focused {
    -fx-background-color: -fx-focus-color, -fx-text-box-border, -fx-control-inner-background;
    -fx-background-insets: -0.4, 1, 2;
    -fx-background-radius: 3.4, 2, 2;
    -fx-prompt-text-fill: transparent;
}

.text-area:disabled {
    -fx-opacity: -fx-disabled-opacity;
}

將其復制到您的CSS文件,根據需要覆蓋,然后通過以下方式將樣式表添加到您的控件:

grid.getStylesheets().add(getClass().getResource("nameofyourcssfile.css").toExternalForm());;

您可以使用任何控件來顯示一個條目,樣式可以以相同的方式完成。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM