Gundon
Gundon

Reputation: 2121

Default JavaFX-CSS

Is there any way to see the applied CSS-Rules for JavaFX-Elements? Or there is a published reference with the default CSS-Rules available?

I would like, for example , to know the color of Toolbar's border.

Upvotes: 22

Views: 33358

Answers (6)

Remzi Cavdar
Remzi Cavdar

Reputation: 187

Modena

Modena has become the default skin for JavaFX applications.

Default Maven dir

%HOMEPATH% on Windows is: C:\Users\USERNAME

The default maven directory is %HOMEPATH%\.m2\repository And JavaFX can be found under %HOMEPATH%\.m2\repository\org\openjfx

modena.css

Since JavaFX (OpenJFX) became modular the directory and file structure has changed. The most recent JavaFX version (as of this writing 19) has placed the CSS at %HOMEPATH%\.m2\repository\org\openjfx\javafx-controls\19 the CSS file can be found inside the following .jar file: javafx-controls-19-win.jar (platform specific)

I have extracted the whole modena folder and put it on GitHub: https://github.com/Remzi1993/OpenJFX-modena

And for anyone who is only interested in the core modena.css here is a public gist: https://gist.github.com/Remzi1993/23350e22a51d325ed00171c117fb66d4

Official OpenJFX repo

You can also find out by going to their GitHub repo: https://github.com/openjdk/jfx/ and the specific directory: https://github.com/openjdk/jfx/tree/master/modules/javafx.controls/src/main/resources/com/sun/javafx/scene/control/skin (The structure might change in the future). They seem to have officially moved to GitHub (finally) and the most recent documentation is also moved to their website at https://openjfx.io

OpenJFX Docs (install guides)

JavaFX CSS Reference Guide

Upvotes: 1

NDY
NDY

Reputation: 3557

Modena theme

With JavaFX 8 the default CSS is a new theme called Modena. See announcement with screenshots.

See the latest versions on the OpenJFX site at GitHub.

The modena.css for the build version Java8_91 can be found here:

https://gist.github.com/maxd/63691840fc372f22f470

If you search the css file in different JDK versions this is the way to go.

JDK below 10.0: $JAVA_HOME/jre/lib/ext/jfxrt.jar --> com/sun/javafx/scene/control/skin/modena.

JDK for 10.0 and higher: $JAVA_HOME/jmods/javafx.controls.jmod --> classes/com/sun/javafx/scene/control/skin/modena.

Upvotes: 15

BeshEater
BeshEater

Reputation: 152

As for the end of 2019 the default modena.css can be looked at official jfx github repo:

https://github.com/openjdk/jfx/tree/master/modules/javafx.controls/src/main/resources/com/sun/javafx/scene/control/skin/modena

Or you can look inside Maven javafx-controls. For example in javafx-controls-13-win.jar go to /com/sun/javafx/scene/control/skin/modena/

Upvotes: 3

beardedlinuxgeek
beardedlinuxgeek

Reputation: 1662

Here is the extracted caspian.css on pastebin - http://pastebin.com/0PebD9nR

Upvotes: 16

mre
mre

Reputation: 44240

From Skinning JavaFX Applications with CSS: Default Style Sheet,

The default style sheet for JavaFX applications is caspian.css, which is found in the JavaFX runtime JAR file, jfxrt.jar

and

Use the following command to extract the style sheet from the JAR file:

jar -xf jfxrt.jar com/sun/javafx/scene/control/skin/caspian/caspian.css

and then just use a css viewer.

Upvotes: 4

sarcan
sarcan

Reputation: 3165

The CSS file is located in javafxrt.jar at jfxrt.jar!/com/sun/javafx/scene/control/skin/caspian/caspian.css .

Unfortunately, there is no API access to the CSS styles of an element as of now, though that is apparently being discussed for JavaFX 2.2.

Upvotes: 23

Related Questions