Synthetica + NetBeans RCP(09:38, 16. Jun. 2011)

If you are using Synthetica together with NetBeans RCP you probably noticed that some components do not use the Synthetica look and feel. The reason is that NetBeans provides some custom components with build in support for system and cross platform look and feels like Metal and Nimbus. However, the components do not support third party look and feels like Synthetica, which results in a inconsistent look - just like below.

NetBeans without Synthetica-NetBeans Plugin

The upcoming SyntheticaAddons release (V1.5) provides support for NetBeans RCP V6.9 and V7.X. The package comes along with a jar file called de-javasoft-synthetica-netbeans.jar and a XML file called de-javasoft-synthetica-netbeans.xml. We do not provide the plugin as NetBeans module so you are free to integrate the plugin in your own modules or to provide and deploy as a separate module. After installing the plugin, the result looks more appealing.

NetBeans with Synthetica-NetBeans Plugin

Plugin Installation

  • Copy de-javasoft-synthetica-netbeans.jar to directory <nbuserdir>/modules/
  • Copy de-javasoft-synthetica-netbeans.xml to directory <nbuserdir>/config/Modules/
  • To enable the plugin add the parameter below to your netbeans.conf (located in <nbinstalldir>/etc/)
    -J-Dnb.forceui=de.javasoft.synthetica.netbeans.SyntheticaLFCustoms
  • Add all needed synthetica libs to your classpath (i.e. for Simple2D on Windows, netbeans.conf)
    --cp:a C:/synthetica/synthetica.jar;C:/synthetica/syntheticaAddons.jar;C:/synthetica/swingx-1.6.2.jar;C:/synthetica/jywidgets.jar;C:/synthetica/syntheticaSimple2D.jar;C:/synthetica/syntheticaSimple2DAddon.jar
  • Set the look and feel in your netbeans.conf
    --laf de.javasoft.plaf.synthetica.SyntheticaSimple2DLookAndFeel

Example - netbeans.conf setting for Windows and SyntheticaSimple2D

...
netbeans_default_options="-J-Dnb.forceui=de.javasoft.synthetica.netbeans.SyntheticaLFCustoms -J-client -J-Xss2m -J-Xms32m -J-XX:PermSize=32m -J-XX:MaxPermSize=200m -J-Dapple.laf.useScreenMenuBar=true -J-Dsun.java2d.noddraw=true --cp:a C:/Users/jd/synthetica/synthetica.jar;C:/Users/jd/synthetica/syntheticaAddons.jar;C:/Users/jd/synthetica/swingx-1.6.2.jar;C:/Users/jd/synthetica/jywidgets.jar;C:/Users/jd/synthetica/jytable.jar;C:/Users/jd/synthetica/syntheticaSimple2D.jar;C:/Users/jd/synthetica/SyntheticaSimple2DAddon.jar --laf de.javasoft.plaf.synthetica.SyntheticaSimple2DLookAndFeel"
...

Example - netbeans.conf setting for Linux and SyntheticaSimple2D

...
netbeans_default_options="-J-Dnb.forceui=de.javasoft.synthetica.netbeans.SyntheticaLFCustoms -J-client -J-Xss2m -J-Xms32m -J-XX:PermSize=32m -J-XX:MaxPermSize=200m -J-Dapple.laf.useScreenMenuBar=true -J-Dsun.java2d.noddraw=true --cp:a /home/jd/synthetica/synthetica.jar:/home/jd/synthetica/syntheticaAddons.jar:/home/jd/synthetica/swingx-1.6.2.jar:/home/jd/synthetica/jywidgets.jar:/home/jd/synthetica/jytable.jar:/home/jd/synthetica/syntheticaSimple2D.jar:/home/jd/synthetica/SyntheticaSimple2DAddon.jar --laf de.javasoft.plaf.synthetica.SyntheticaSimple2DLookAndFeel"
...

Note: The plugin has dependencies to Synthetica and SyntheticaAddons - a plugin usage without SyntheticaAddons is not supported.

Update: For NetBeans 7.1 or above you have to use SyntheticaAddons 1.6.2 or above. It provides an updated plugin to support the tab groups feature which was introduced by NetBeans 7.1. This new feature is enabled by default - you can also use the old plugin by disabling tab groups by setting the system property winsys.stretching_view_tabs to true - see http://wiki.netbeans.org/DevFaqCustomizeWindowSystem.

Update: In NetBeans 7.2 the user directory was changed - see http://wiki.netbeans.org/FaqWhatIsUserdir. This means on Windows the nbuserdir for user jd is C:/Users/jd/AppData/Roaming/NetBeans/7.2

Related Links

Look and Feels in NetBeans
NetBeans FAQ - NetBeans with a custom Look and Feel