java - 样式表不适用于 JavaFx

标签 java css javafx stylesheet

我正在开发 JavaFX 应用程序,但无法应用样式表。

我的代码:

public class JavaFX extends Application {

    @Override
    public void start(Stage primaryStage) throws Exception {
        //set up the stage
        primaryStage.initStyle(StageStyle.UNDECORATED);
        primaryStage.setMaximized(true);

        Group root = new Group();
        root.setId("root");
        Scene scene = new Scene(root);
        primaryStage.setScene(scene);
        scene.getStylesheets().add(JavaFX.class.getResource("styling.css").toExternalForm());

        //Get the screensize
        Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
        double screenX = screenSize.getWidth();
        double screenY = screenSize.getHeight();

        //Text objects
        Text text = new Text();
        text.setId("text");
        text.setText("Test");
        text.setY(50);

        //Add all objects to the root group
        root.getChildren().add(text);

        //Show the stage
        primaryStage.show();

        //Calculate Positions of all objects
        text.setX((screenX /2) - text.getBoundsInParent().getWidth());

我的样式表:

#text {
    -fx-font-size: 50px;
}

CSS 文件与 java 文件位于同一包中。

如有任何帮助,我们将不胜感激!

最佳答案

你的代码正确应用了CSS,至少我检查过你的字体大小和-fx-font-size: 500px;和“文本”按预期更改。请再次检查您的style.css 文件。 (此外,您始终可以检查编译的内容并查看 jar 中实际包含的内容,以检查实际将哪些内容拉入稍后运行的内容中)

然而,最有可能的是,您可能有同名的重复 css 文件,一个文件覆盖了另一个文件。例如。一个位于资源文件夹中,另一个位于与 .java 文件相同的位置

关于java - 样式表不适用于 JavaFx,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59468800/

相关文章:

css - css 中媒体查询的最佳位置

java - ComboBox 选项在调整舞台大小时获得 margin

ubuntu - WSL 2 : java. lang.UnsupportedOperationException 中的 JavaFX 错误:无法打开显示

java - 如何从表列javafx中删除行

基于Java的图标移动

css - 如何使 CSS 悬停下拉菜单项随文本扩展

css - 使用 CSS3 @font-face 的自定义字体不起作用

java - Gradle Zip:保留目录结构

Java对象和方法参数

java - 如何将一个JFrame访问到另一个类JFrame