VOOZH about

URL: https://www.javacodegeeks.com/2014/07/javafx-tip-7-use-css-color-constants-derive-colors.html

⇱ JavaFX Tip 7: Use CSS Color Constants / Derive Colors


When working on FlexCalendarFX I got to the point where I had to define a set of colors to visualize the controls for different calendars in different colors. And not just one color per calendar but several: a background and a text color for deselected / selected / hover states.

The  colors were used in several places but for the sake of brevity I only focus on the visual calendar entries in the day view of FlexCalendarFX. The two screenshots below show the same entry, first deselected, then selected.
 
 
 
 
 
πŸ‘ deselected-entry

πŸ‘ selected-entry

What is important to notice is that these are not completely different colors but they all have the same base color (green) but with different saturation.

The code below shows the best way I could find to define related colors in JavaFX CSS. I define the base color globally under β€œ.root” and derive all other colors using this constant.

.root {
 -style1-color: rgb(119, 192, 75, .9);
}

.style1-entry {
 -fx-background-color: derive(-style1-color, 50%);
}

.style1-entry:selected {
 -fx-background-color: -style1-color;
}

.style1-entry-time-label, .style1-entry-title-label {
 -fx-text-fill: derive(-style1-color, -50%);
}

Please notice that the base color is using transparency as described in my previous blog about transparent colors. The other background colors in this CSS fragment are all derived from the base color. They are either brighter (positive percentage value in derive function) or darker (negative percentage value).

By using this approach to defining colors you can achieve a consistent and smooth look for your application and it will not look like your child’s coloring book.

Do you want to know how to develop your skillset to become a Java Rockstar?
Subscribe to our newsletter to start Rocking right now!
To get you started we give you our best selling eBooks for FREE!
1. JPA Mini Book
2. JVM Troubleshooting Guide
3. JUnit Tutorial for Unit Testing
4. Java Annotations Tutorial
5. Java Interview Questions
6. Spring Interview Questions
7. Android UI Design
and many more ....
I agree to the Terms and Privacy Policy

Thank you!

We will contact you soon.

Tags
JavaFX
πŸ‘ Photo of Dirk Lemmermann
Dirk Lemmermann
July 14th, 2014Last Updated: July 14th, 2014
0 132 1 minute read
Subscribe

This site uses Akismet to reduce spam. Learn how your comment data is processed.

0 Comments
Oldest
Newest Most Voted
Back to top button
Close
wpDiscuz