【问题标题】:How to convert css into bss如何将css转换成bss
【发布时间】:2013-12-02 20:00:06
【问题描述】:

我发现这个帖子http://docs.oracle.com/javafx/2/deployment/packaging.htm#BABCACBD

您能告诉我如何使用此工具将 css 文件转换为 bss 文件吗?从网站上的信息来看,我不太清楚如何将它用于 JavaFX 应用程序。

任何帮助将不胜感激。

【问题讨论】:

    标签: css javafx-2 javafx javafx-8


    【解决方案1】:

    假设您的 jdk 8 主 bin 目录位于您的 shell 路径中。

    创建Love.java

    import javafx.stage.*;
    import javafx.application.*;
    import javafx.scene.control.*;
    import javafx.scene.*;
    
    public class Love extends Application {
      public void start(Stage stage) throws Exception {
        Scene scene = new Scene(new Label("hello, world"));
        scene.getStylesheets().add("love.css");
        stage.setScene(scene);
        stage.show();
      }
    }
    

    编译:

    javac Love.java
    

    创建love.css

    .label { -fx-text-fill: firebrick; }
    

    编译:

    javafxpackager -createbss -srcfiles love.css -outdir . -outfile love
    

    这将创建love.bss

    现在你可以删除love.css,因为你已经不再需要它了。

    现在运行您的应用:

    java Love
    

    即使您请求了love.css,JavaFX 运行时也足够聪明,可以识别出您有一个二进制文件 love.bss,并使用它来将 css 样式应用于您的应用程序。

    【讨论】:

    • 不幸的是,对于 java 9,javafxpackager.exe 似乎丢失了。
    • javafxpackager 仍在 Java 9 中,它已从 javafxpackager 重命名为 javapackager
    • 在 openjdk 中不可用。看起来 jpackage 是打包 Java 应用程序的未来,但不幸的是仅在 EA 版本中可用
    • 对于以后的 Java 版本,例如11-13,直到 jpackage 可用(或者如果它确实可用但不提供 css -> bss 转换),如果需要,您应该能够使用早期版本中的 javapackager 进行转换cssbss 文件。
    【解决方案2】:

    在 Windows 上,我喜欢通过批处理文件来执行此操作(请注意,您需要定义 JAVA_HOME 系统变量)。您可以创建一个新的 .bat 文件,复制下面的代码并保存。然后,您可以从存储 .css 文件的同一文件夹中运行此批处理文件:

    @echo off
    
    for %%f in (*.css) do (
        "%JAVA_HOME%\bin\javafxpackager" -createbss -srcfiles "%cd%\%%f" -outdir . -outfile %%~nf
    )
    
    echo.
    echo Press any key to exit . . .
    pause>nul
    

    基本上 jewelsea 完美地解释了解决方案,请注意,只有当您的 css 文件中有一些内容时,它才会起作用。例如,它不适用于由 e(fx)clipse 创建的空 application.css,因此您可以简单地放置类似 .dummy-class {-fx-background-color: red;} 里面然后转换它。

    【讨论】:

      【解决方案3】:

      其他答案中的命令不再存在,但它的代码存在。

      从 JavaFX 中保存 Css2Bin 类的代码。

      然后在终端中运行java Css2Bin my-styles.css。将创建一个名为 my-styles.bss 的新文件。 (不要忘记添加所有 --add-modules 库的东西)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-03-21
        • 2018-07-25
        • 1970-01-01
        • 1970-01-01
        • 2020-09-05
        • 2021-10-11
        • 2017-04-12
        • 2012-11-27
        相关资源
        最近更新 更多