Category Archive for: ‘General’

Java FX 2.0 CSS Styling


Inspired by Tom Schindl’s e(fx)clipse (see his blog), I have spent some time investigating the CSS styling capabilities of JavaFX 2.0. I have to admit I like it a lot! The styling provides everything out of the box that I had wished for. The only thing that bothers me about the JavaFX rendering right now is that sub-pixel anti-aliased font rendering is not supported yet. This make all fonts appear blurred on LCD screens. But I hope that this will be fixed soon, there are already some bugs filed in the JavaFX Jira.

I could not resist to create a JavaFX based mock-up of my Eclipse 4.x contacts demo, the current result without any additional CSS styling (actually the caspian CSS style is used by default) looks like this:

IMHO, the result is nice (if you ignore the font rendering :)). With a little bit of CSS styling I could create a straw-man dark theme. This is not meant to be a real theme but just a prove of concept. You might see that also radial gradients are supported:

The CSS for this theming is pretty small since it inherits most styling from the default theme. A very nice thing is that by default most of the colors are derived from -fx-base. So it is pretty easy to create themes based on base colors. Here is the complete CSS for the above styling:

.root {
-fx-base: rgb(50, 50, 50);
-fx-background: rgb(50, 50, 50);
-fx-control-inner-background:  rgb(50, 50, 50);

.tab {
-fx-background-color: linear-gradient(to top, -fx-base, derive(-fx-base,30%));

.menu-bar {
-fx-background-color: linear-gradient(to bottom, -fx-base, derive(-fx-base,30%));

.tool-bar:horizontal {
linear-gradient(to bottom, derive(-fx-base,+50%), derive(-fx-base,-40%), derive(-fx-base,-20%));

.button {
-fx-background-color: transparent;

.button:hover {
-fx-background-color: -fx-shadow-highlight-color, -fx-outer-border, -fx-inner-border, -fx-body-color;
-fx-color: -fx-hover-base;

.table-view {

.split-pane:horizontal > * > .split-pane-divider {
-fx-border-color: transparent -fx-base transparent -fx-base;
-fx-background-color: transparent, derive(-fx-base,20%);
-fx-background-insets: 0, 0 1 0 1;

.my-gridpane {
-fx-background-color: radial-gradient(radius 100%, derive(-fx-base,20%), derive(-fx-base,-20%));

.separator-label {
-fx-text-fill: orange;

The next steps for me would to port the e4 Contacts Demo to Tom’s e(fx)clipse to have a working application.

One last thing: If you are a designer, could you provide me with a real great looking dark CSS theme for JavaFX 2.0?

Have Fun!


You find me on Twitter and Google+.
If you are interested in in-house Eclipse RCP training,
please contact me…

Eclipse RCP Splash Screens and Java WebStart


One thing that has bothered me (and recently one of my customers) a lot was that we could not display Eclipse RCP splash screens when starting the application using Java WebStart. But now I got it working, here is the recipe:

1) In your main jnlp file, add

<application-desc main-class="org.eclipse.equinox.launcher.WebStartMain">

2) In the resources section, add the following 4 properties.

<property name="osgi.instance.area" value="@user.home/<your_app>"/>
<property name="osgi.install.area" value="@user.home/<your_app>/osgi"/>
<property name="osgi.configuration.area" value="@user.home/<your_app>"/>
<property name="osgi.splashPath" value="platform:/base/plugins/<your_bundle_that_contains_splash.bmp>"/>

3) For all operating systems that might wanna run your webstarted app, add the launcher respective fragments, e.g. for Win and Win64:

<resources os="Windows" arch="x86">
    <jar href="plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.100.v20110502.jar"/>
<resources os="Windows" arch="x86_64">
    <jar href="plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.1.100.v20110502.jar"/>

That should be it. I have already added the Windows fragments for my MP3 Manager Demo, so when you start it under Windows, you should see the RCP splash screen.  I will add the remaining fragments for other operating systems later…

You can WebStart MP3 Manager here:

Have Fun!


You find me on Twitter and Google+.
If you are interested in in-house Eclipse RCP training,
please contact me…


JCalendar 1.4 Released


After 2 years I released a new version of my free Java date picker JCalendar. You find the download, demo and documentation of the stable release and the current integration build at the project homepage. Here are the new and noteworthy things:

Buttons for “Today” and “No Date”
JCalendar provides 2 new methods for setting the “Today “button and/or “No Date” button visible. These 2 buttons are localized by default, but you could set your own labels if you don’t like the default translations.


Date Evaluators
With the interface IDateEvaluator you can add evaluators that decide if a date is special or invalid. Invalid dates can not be chosen. Both, special and invalid dates can have specific foregrounds and backgrounds. In the picture below, day 4 and 5 are invalid and day 6 and 7 are special. The special days can provide a tooltip that indicate why they are special.

Look & Feel
Now JGoodies Looks 2.4.1 is included. The demo now uses different font for the Plastic Look & Feel so that unicode characters are displayed correctly. Also Nimbus Look & Feel is supported better.

Fixed Bugs
– Bug in focus handling fixed
– Bug when selecting last day of a month and then change the month fixed

Have Fun!


You find me on Twitter and Google+.
If you are interested in in-house Eclipse RCP training,
please contact me…

Eclipse RCP Demo “MP3 Manager” Version 3.7.0 released


I recently updated my MP3 Manager Eclipse RCP demo to version 3.7.0.

These things are new:

* Java WebStart support (launcher see below)
* New target platform Eclipse 3.7.0
* Integrated Tycho 0.12.0 build
* 3.7.0 compliant headless p2-enabled build
* 3.7.0 target definition project

The binaries, sources, svn access etc. you find at the project home page.

You can launch the demo directly with the launch button below using Java WebStart, but a few restrictions apply:

* p2 does not work well together with WebStart and is not included
* Restarting the client using the dynamic language switcher does not work
* No demo song included

Have Fun!


Democamp Munich

Eclipse Demo Camp @ Siemens Munich => Impressions


At June 20th, 2011, the Eclipse Demo Camp took place at the Siemens campus in Munich, Germany. From my point of view, the event was just great. We had 165 attendees (which might be a new record for a German Indigo demo camp), 12 excellent speakers, great sessions, enough food and beer and – lots of fun! I would like to thank all speakers for both giving great demos/sessions and staying in their time slot (which is not easy just having 20 minutes): Ralf Müller, Ekkehard “Ekke” Gentz, Peter Friese, Tom Schindl, Ralf Sternberg, Marcel Bruch, Maximilian Kögel, Jonas Helmig, Alexandra Imrie, Benjamin Muskalla, and Sebastian Zarnekow.

This was not the first event with 150+ attendees I have organized in the last years, but this was by far the biggest event in terms of food and beer consumption. We had nice Bavarian food and it was gone in 30 Minutes! But everyone got enough, and thanks to the great catering service after the second track there was even more… If I get the numbers a will probably post some statistics.

The slides I collected so far you can download here.

The award for the funniest demo went to Jonas Helming and Maximilian Kögel for showing off a Microsoft Kinect connected to an Eclipse IDE, controlling the IDE with funny gestures. I see much potential in here!!!. The picture below shows Jonas, Maximilian and the attendees trying out the gestures.

I had so much fun at this demo camp that I am planning to organize another one next year… Now I am looking forward to attending the demo camp in Hamburg on June 28th.


Democamp Munich

Eclipse Demo Camp @ Siemens Munich => More free Tickets!

There are only 11 days left until the Eclipse Demo Camp Munich on June 20th 2011, hosted by Siemens AG. I closed the Siemens-only registration and now we have 21 more seats available for public registration. You can register again at Currently we have 180 registrations and I hope to sell out all 200 free tickets 🙂

I would like to thank Daria Motamedi for providing the nice demo camp image as part of her flyer.

Looking forward to seeing you all in Munich…


Eclipse Demo Camp @ Siemens, Munich (Update 4)

I am pretty exited that we  sold out the regular free tickets for the Eclipse Demo Camp @ Siemens (in Munich, Germany)! There are only a few reserved tickets left for Siemens employees. Currently we have 174 registered attendees. Since the regular tickets (ticket type: Registration)  are sold out, please contact me if you have such a ticket and cannot attend the event. Then I could cancel your ticket and give another person the chance to attend!

I also would like to thank Daria Motamedi for providing the nice democamp-munich-flyer 🙂

Looking forward to seeing you all in Munich…


Follow me on Twitter

My JAX 2011 Presentations

The JAX conference is over and I liked it a lot! Many thanks to all the attendees of my sessions and tutorials for the feedback and the great discussions. Here are the slides from my sessions about Eclipse 4.x and OSGi/Vaadin. You can download the PDFs directly from slideshare.

Have Fun!


Follow me on Twitter

Eclipse Demo Camp @ Siemens (Munich, Germany)

I am happy to announce the Eclipse Demo Camp @ Siemens in Munich, Germany. Excellent speakers with interesting demos/talks will make this demo camp an Eclipse fest! The latest event details and agenda you always find at the Wiki page.

Location: Siemens AG, Forum 1, Otto-Hahn-Ring 6, 81739 Munich, Germany
PDF with directions: Siemens Munich MCH_P campus
Google Maps: Siemens Munich MCH_P campus

Date and Time
Monday, June 20, 2011 from 5:00 PM – 11:00 PM (GMT+0100)


  • 05:00pm – 05:30pm Meet and Greet
  • 05:30pm – 05:40pm Welcome/Intro,
    Ralph Müller (Eclipse Foundation) + Kai Tödter (Siemens Corporate Technology)
  • 05:40pm – 05:50pm CSS Styling for Indigo,
    Kai Tödter (Siemens Corporate Technology)
  • 05:50pm – 06:00pm Dynamic OSGi Apps with Equinox and Vaadin,
    Kai Tödter (Siemens Corporate Technology)
  • 06:00pm – 06:20pm EclipseRT as Push- and Contentserver for mobile Clients,
    Ekkehard “Ekke” Gentz (Freelancer)
  • 06:20pm – 06:40pm APPlause: DSLs and Generators for mobile Development (iOS, Android, etc.),
    Heiko Behrens and/or Peter Friese (Itemis)
  • 06:40pm – 07:00pm Single-sourcing for Eclipse 4.x and Eclipse 3.x,
    Tom Schindl (
  • 07:00pm – 07:40pm BREAK (with beer, soft drinks and warm food)
  • 07:40pm – 08:00pm Rich Ajax Platform: What’s new in RAP 1.4,
    Ralf Sternberg (EclipseSource)
  • 08:00pm – 08:20pm Eclipse Code Recommenders:
    How much can the IDE predict what you will write in the next few seconds?
    Marcel Bruch (TU Darmstadt)
  • 08:20pm – 08:40pm What’s new in EMFStore?,
    Maximilian Koegel (EclipseSource)
  • 08:40pm – 09:00pm A Test-Model Generator for EMF,
    Jonas Helmig (EclipseSource)
  • 09:00pm – 09:20pm Functional testing with Jubula,
    Alexandra Imrie (BREDEX GmbH)
  • 09:20pm – 09:40pm Tired of CVS? Pimp your productivity with Git, Gerrit, Hudson and Mylyn,
    Benjamin Muskalla (Tasktop)
  • 09.40pm – 11:00pm Networking (with beer, soft drinks and warm food)

At you find the current list of attendees and you can register. Registration is free: beer, soft drinks and (warm) food is sponsored by Siemens AG and EclipseSource! Let’s make this demo camp great!

See you all in Munich…


Follow me on Twitter

EclipseCon 2011 Slides


EclipseCon was great! Thanks for the feedback. Here are the PDF versions of my tutorials

The screen shot below shows our beloved RCP Mail demo with a bit of CSS styling. How to do this, you find in the above “Style It!” slides.

Have Fun!


Follow me on Twitter

Page 4 of 12« First...«23456»10...Last »