欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

JavaFX項目的單獨css文件

錢諍諍2年前7瀏覽0評論

如何為javaFX項目的一個單獨的css文件中的所有lines對象應用某種樣式?這是java代碼:

package com.example.demo;

import javafx.application.Application;
import javafx.fxml.FXMLLoader;
import javafx.scene.Scene;
import javafx.scene.control.Label;
import javafx.scene.layout.Pane;
import javafx.scene.shape.Line;
import javafx.stage.Stage;

import java.io.IOException;

public class HelloApplication extends Application {
    @Override
    public void start(Stage stage) throws IOException {
        Pane root = new Pane();
        Scene scene = new Scene(root, 1200, 800);
        stage.setTitle("Simulink viewer");
        Label l1 = new Label("hdkhsd");
        l1.setLayoutX(100);
        l1.setLayoutY(100);
        Label l2 = new Label("helle");
        l2.setLayoutX(400);
        l2.setLayoutY(400);
        root.getChildren().addAll(l1,l2);
        Line l = new Line(10,10,90,90);
        root.getChildren().add(l);
        scene.getStylesheets().add(getClass().getResource("style.css").toExternalForm());
        stage.setScene(scene);
        stage.show();
    }

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

這是css文件:

.root{
-fx-background-color : #ADD8E6;
}

.label {
-fx-border-color: red;
}

.line {
-fx-stroke = green;

}

該樣式對根和標簽都有效,但對行無效。有什么問題?

我收到這個警告:

2023年5月13日下午4:31:05 Java FX . CSS . CSS parser聲明 警告:CSS解析文件時出錯:/E:/College/Now/Advanced/Projects/normal % 20 Java % 20 Projects/demo/target/classes/com/example/demo/style . CSS:預期冒號位于

實際上,我知道默認情況下line的樣式類是空的。那是什么意思?這是否意味著我不能在一個單獨的css文件中設置線條樣式?

首先,請注意您的CSS文件中有一個語法錯誤:

-fx-stroke = green;

應該是

-fx-stroke: green;

此外,請注意文檔中的Line樣式類默認為空。(只有Control及其子類,以及ImageView、WebView和MediaView有默認的樣式類。)因此,選擇器不會選擇該行。您可以將樣式類顯式添加到行中:

Line l = new Line(10,10,90,90);
    l.getStyleClass().add("line");

或者使用類型選擇器。從文檔中:

Node的getTypeSelector方法返回一個類似于CSS類型選擇器的字符串。默認情況下,此方法返回類的簡單名稱。

因此,下面的代碼不需要在Java代碼中添加style類就可以工作:

Line {
-fx-stroke: green;

}