[英]How To Use CSS For JavaFX Projects
我對JavaFX非常陌生,想知道是否有一種方法可以將css文件分配給整個JavaFX項目/場景。 當前,我必須將樣式表應用於要使用css樣式化的每個元素。 我正在使用IntelliJ和Scene Builder 2.0。 我曾嘗試在Main類的start方法中添加樣式表,如下所示,但似乎沒有達到預期的效果。
public class Main extends Application {
@Override
public void start(Stage primaryStage) throws Exception {
Parent root = FXMLLoader.load(getClass().getResource("JavaFXTest.fxml"));
primaryStage.setTitle("JavaFX Test");
primaryStage.setScene(new Scene(root, 300, 275));
root.getStylesheets().add("@../styling/styles.css");
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
我意識到這是css文件路徑的問題。 我將其更改為:
root.getStylesheets().add("styling/styles.css");
並取得了預期的效果。 這樣,我不需要手動將樣式表添加到UI中的每個元素,而是現在可以在整個場景中使用。 只需按照常規的CSS約定聲明您的類/ id,即可添加樣式。
您可以向場景添加樣式表:
public void start(Stage primaryStage) {
Button btn = new Button();
btn.setText("Say 'Hello World'");
btn.setOnAction(event -> System.out.println("Hello World!"));
StackPane root = new StackPane();
root.getChildren().add(btn);
Scene scene = new Scene(root, 300, 250);
scene.getStylesheets().add("/styling/styles.css");
primaryStage.setTitle("Hello World!");
primaryStage.setScene(scene);
primaryStage.show();
}
在上面的示例中,樣式/styling/styles.css
對於源根目錄位於/styling/styles.css
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.