簡體   English   中英

將自定義 css 添加到 JavaFX 中的按鈕

[英]adding custom css to button in JavaFX

我正在嘗試向我的按鈕添加一些自定義 css,css 文件與我的 testButton.java 位於同一文件夾中。 這是我的主要/唯一課程:

import com.jfoenix.controls.JFXButton;

import javafx.application.Application;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.geometry.HPos;
import javafx.geometry.Insets;
import javafx.geometry.Pos;
import javafx.scene.Scene;
import javafx.scene.control.*;
import javafx.scene.layout.*;
import javafx.scene.text.Font;
import javafx.scene.text.FontWeight;
import javafx.stage.Stage;
import javafx.stage.Window;

public class testButton extends Application {

    @Override
    public void start(Stage primaryStage) throws Exception {
        primaryStage.setTitle("Vulpix Skyen");

        GridPane gridPane = createRegistrationFormPane();

        addUIControls(gridPane);

        Scene scene = new Scene(gridPane, 800, 500);

        scene.getStylesheets().clear();
        scene.getStylesheets().add(getClass().getResource("test.css").toExternalForm());


        primaryStage.setScene(scene);
        primaryStage.show();
    }


    private GridPane createRegistrationFormPane() {

        GridPane gridPane = new GridPane();

        return gridPane;
    }

    private void addUIControls(GridPane gridPane) {

        JFXButton jfoenixButton = new JFXButton("JFoenix Button");
        JFXButton button = new JFXButton("Raised Button".toUpperCase());
        button.getStyleClass().add("button-raised");
        jfoenixButton.getStyleClass().add("button-raised");
        gridPane.add(jfoenixButton, 0, 0);
        gridPane.add(button, 1, 0);
    }

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

這是 css 文件:

.button-raised {
    -fx-padding: 0.7em 0.57em;
    -fx-font-size: 140px;
    -jfx-button-type: raised;
    -fx-background-color: rgb(77, 102, 204);
    -fx-pref-width: 200;
    -fx-text-fill: ORANGE;
}

無論我更改什么,我的按鈕都保持相同的默認樣式。 我沒有特別想添加 css,但不知道為什么它根本沒有改變。

您沒有將樣式按鈕添加到gridPane 添加到窗格的唯一按鈕是jfoenixButton ,它沒有button-raised類。

也可以將類添加到該按鈕:

jfoenixButton.getStyleClass().add("button-raised");

或者將樣式按鈕添加到您的 gridPane:

gridPane.add(button, 1, 0);

選項之一應該可以解決您的問題。

您應該在您的GridPane (使用場景生成器)中導入您的 CSS 以允許您使用jfoenixButton.getStyleClass().add("button-raised");

暫無
暫無

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

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