How to convert css into bss

前端 未结 2 1976
攒了一身酷
攒了一身酷 2020-12-19 14:10

I found this post http://docs.oracle.com/javafx/2/deployment/packaging.htm#BABCACBD

Can you tell me how I can use this tool to convert css files into bss files? From

相关标签:
2条回答
  • 2020-12-19 14:18

    On Windows, I like to do this through a batch file (note that you need to have JAVA_HOME system variable defined). You can create a new .bat file, copy the code below and save it. You can then run this batch file from the same folder where your .css files are stored:

    @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
    

    Basically jewelsea perfectly explained the solution, just note that it will work only if your css file has some content in it. For example, it will not work on empty application.css which gets created by e(fx)clipse, so you can simply put something like .dummy-class {-fx-background-color: red;} inside and then convert it.

    0 讨论(0)
  • 2020-12-19 14:34

    Let's imagine your jdk 8 home bin directory is on your shell path.

    Create 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();
      }
    }
    

    Compile it:

    javac Love.java
    

    Create love.css:

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

    Compile it:

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

    This will create love.bss

    Now you can delete love.css as you don't need it anymore as you have made binary love.

    Now run your app:

    java Love
    

    Even though you requested love.css, the JavaFX runtime was smart enough to recognize that you have a binary love.bss and use that to apply css styles to your app.

    love

    0 讨论(0)
提交回复
热议问题