bootstrapfx
bootstrapfx copied to clipboard
Accessing this library from Gluon's SceneBuilder?
I'd like to use this bootstrap css framework, but accessed through the Gluon SceneBuilder. I see there is an "add css stylesheet" in the menu of the SceneBuilder but I am not sure how this can be combined with the add-on mentioned above? Also asked on SO: https://stackoverflow.com/questions/61170165/add-a-bootstrap-css-stylesheet-to-gluon-scenebuilder-for-javafx
I spent several hours investigating this question and finally I have to reference as usual stylesheet from project resources:
"bootstrapfx.css" is a copy from the Maven .jar
I've tried to use Gluon Scene Builder, whitch it is said to have Maven suport to import dependencies, but it is too much unstable software so I returned to classic Oracle JavaFX Scene Builder.
I'm aware that this question was asked more than a year ago, but I'd like to share how I solved it... and honestly, because in the process I stumbled upon a related problem and perhaps someone can enlighten me with a solution, see below :)
To use BootstrapFX in SB and preview the results, I can do the following (as seen in @aalmiray answer here: https://stackoverflow.com/a/64404062/243532):
- Open my FXML file (hello-view.fxml) in SB
- Open the JAR/FXML manager

Add the org.kordamp.bootstrapfx:bootstrap-core:0.4.0 JAR from Maven (using the "Manually add Library from repository")

Set the bootstrapfx.css stylesheet to the root node of the scene. For that, I assumed the following:
- the bootstrapfx.css is available in the /org/kordamp/bootstrapfx/bootstrapfx.css path
I needed to click on "Switch to classpath relative path" and add the full path to the file:
Now I can see all the available CSS styles and apply them from SB to any of the scene's nodes:

So far so good. However, when I open the FXML file in IntelliJ (where I have the BootstrapFX library defined as a dependency in Maven) I get this error:

Cannot resolve directory 'org': (I'm assuming that stylesheets="@/org/kordamp/bootstrapfx/bootstrapfx.css" should look into the proper JAR dependency in my Maven external libraries and get the CSS file from there... in fact, isn't it what was really happening in SB?)
And of course, when I run the application from IntelliJ, it yields this error:
Caused by: javafx.fxml.LoadException: Invalid resource: /org/kordamp/bootstrapfx/bootstrapfx.css not found on the classpath
Is there any way to specify in the stylesheets attribute the path to a CSS file located inside a JAR file so we can run the JavaFX application without errors both in SB and from IntelliJ/Maven?
PD: I've also posted this last question in StackOverflow: https://stackoverflow.com/questions/75195364/cant-use-a-css-located-inside-a-jar-file-in-an-javafx-fxml-scene