簡體   English   中英

JavaFx如何在CSS中使用java生成的RGB顏色

[英]JavaFx how to use java generated RGB color in CSS

我正在開展一個項目,我試圖從圖片中找到最常見的顏色。 我找到這個的代碼有效,但我想將場景的背景顏色設置為我找到的rgb顏色。

我知道如何使用css設置場景的背景顏色,但我不知道如何在那里使用我的方法。 如果不可能,還有其他方法可以設置背景顏色嗎?

現在的CSS代碼:

.root{
-fx-background-color: rgb(50,50,50);
-fx-font-size: 11pt; 
}

JavaFx代碼現在:

Stage window;

public static void main(String[] args) {
    launch(args);
}

@Override
public void start(Stage primaryStage) throws Exception {
    ColorFinder finder= new CollorFinder("/imgs/picture.jpg");
    int r = finder.rood();
    int g = finder.groen();      //calling my method and setting r g & b
    int b = finder.blauw();

    window = primaryStage;
    window.setTitle("Color");

    Label text = new Label("Most popular color:");
    Label rgb = new Label("rgb("+r+","+g+","+b + ")");



    VBox layout = new VBox(20);
    layout.getChildren().addAll(text,rgb);
    layout.setAlignment(Pos.CENTER);

    Scene scene = new Scene(layout, 300,200);
    String css = gui.class.getResource("styles.css").toExternalForm();
    scene.getStylesheets().add(css);
    window.setScene(scene);
    window.show();
}
}

我想用css做什么但是不可能:

ColorFinder finder= new CollorFinder("/imgs/picture.jpg");
    int r = finder.rood();
    int g = finder.groen();
    int b = finder
.root{
    -fx-background-color: rgb(r,g,b);
    -fx-font-size: 11pt;
}

有兩種方法:

  1. 內聯樣式方法setStyle(String style)

     layout.setStyle("-fx-background-color: rgb(" + r + "," + g + ", " + b + ");"); 

    r, g, b值范圍 - >(0 - 255)

  2. 方法setBackground(Background value)

     layout.setBackground(new Background(new BackgroundFill(Color.rgb(r, g, b), CornerRadii.EMPTY, Insets.EMPTY))); 

    r, g, b值范圍 - >(0 - 255)

暫無
暫無

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

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