Company News

<< Previous PageNext Page >>

Synthetica V3.1.0 has been released!(11:33, 07. Feb. 2018)

We are pleased to announce the release of Synthetica V3.1.0. A complete list of changes can be found at the Synthetica changelog. The update mainly improves UI-scaling support to achieve good results even for scaling values which are not a whole multiple.

In this new release the API has been extended to improve image scaling support. Some new methods can be found in the HiDpi class. The new scaling support works pretty well even for indeterminate scale factors. More details are described in the article Synthetica UI-Scaling In Detail - so this is how Synthetica scaling looks since V3.1.

Synthetica 3.1 UI-Scaling

Product Links

Synthetica UI-Scaling In Detail(10:36, 02. Feb. 2018)

As you may know Synthetica V3 comes along with UI-Scaling support. The UI-properties listed below help you to control scaling to fit your needs.

  • Synthetica.scaleFactor
    Percentage integer value to scale the complete UI.
  • Synthetica.font.scaleFactor
    Percentage integer value can be used to specify a scale factor for fonts only - if not set Synthetica.scaleFactor will be used for font scaling.
  • Synthetica.font.respectSystemDPI
    Boolean value - works only if Synthetica UI-Scaling is not active, if set to true or not set (null) and Swing UI-Scaling is disabled fonts will be scaled with system DPI setting.
  • Synthetica.imageScaleAlgorithm
    Integer value - supported since V3.1.0 to specify the algorithm used for image scaling. Default value is 1 and stands for smooth/bicubic scaling. A value of 0 means disabled and leads to the scaling results of V3.0.0.

For linear scaling it's recommended to set Synthetica.font.respectSystemDPI to false when using the UI-Scaling option. Otherwise, especially on high-resolution platforms, fonts of your application may appear too big if a Synthetica scale factor is not set or set to 100.

//Example:
UIManager.put("Synthetica.scaleFactor", 150);
UIManager.put("Synthetica.font.respectSystemDPI", false);
UIManager.setLookAndFeel("de.javasoft.synthetica.dark.SyntheticaPlainLookAndFeel");

Image Scaling

As you maybe know most of our themes are based on image files. In Synthetica V3.1 image scaling support has been improved to work fine even for indeterminate scale factors. In the screenshots below you can clearly see the differences in scaling between Swing UI-Scaling, Synthetica V3.0 and Synthetica V3.1.

Swing UI-Scaling

As you an see in the screenshots below the default Swing scaling of Java 9 has some issues like unwanted artifacts and image scaling quality.

Swing UI-Scaling

Synthetica V3.0 Scaling

In Synthetica V3.0 these issues do not appear if the scaling factor is a whole multiple means 100%, 200%, 300%... However, even if image scaling is slightly better than Swing's default scaling it's not as good as it could be.

Synthetica V3.0 Scaling

Synthetica V3.1 Scaling

In Synthetica V3.1 image scaling was massively improved. So the complete application appears pretty well scaled even with intermediate scale factors.

Synthetica V3.1 Scaling

Synthetica V3.1 also provides an enhanced API to simplify image scaling for your needs. The HiDpi class provides some new methods to let you scale your images easily.

//Example:
//scale image relatively with the current Synthetica scale factor
scaledImage = HiDpi.scaleImage(myImage);

//scale image absolutely to reach the passed width/height
scaledImage = HiDpi.scaleImage(myImage, newWidth, newHeight);

//scale multi resolution image with the current Synthetica scale factor
scaledImage = HiDpi.createImage(myImage, myHiResImage).getScaledInstance();
//or directly by passing image file names
scaledImage = HiDpi.createImage(getClass(), "arrow.png", "arrow@2x.png").getScaledInstance();

BTW: Synthetica V3.1.0 will be released pretty soon.

Related Links

SyntheticaAddons V3 has been released!(15:52, 30. Nov. 2017)

We are pleased to finally announce the release of SyntheticaAddons V3.0.0.

New Features

SyntheticaAddons V3 provides some great new features:

  • High-resolution support
  • Scalability support
  • JPMS (Java module system) support
  • Icon library with around 7,000 font based scalable icons
  • Theme extension for Synthetica's new flat styled dark theme
  • Improved docking framework to support to minimize/maximize dockables within a floating window and dynamically add a dockable to a maximized/minimized dockable
  • Updated SwingX library
  • Java 9 support
 

IconFontBrowser

SyntheticaAddons provides a font based icon library with around 7,000 scalable icons. For your convenience we've created a simple browser application which helps you to find proper icons for your project. By selecting an icon the related source code appears in the bottom panel - so you can simply copy and paste the code into your project.

SyntheticaAddons IconFontBrowser

IconFontBrowser

Modules

For being JPMS compatible the package structure in V3 was reorganized, which also means that V3 is no longer backward compatible. However, class names are unchanged so your preferred IDE should be able to easily update all package imports of your application. All modules of SyntheticaAddons V3 are listed below.

SyntheticaAddons core                 ->  synthetica.addons.base
SyntheticaAddons jywidgets            ->  synthetica.addons.widgets
SyntheticaAddons jytable              ->  synthetica.addons.table
SyntheticaAddons jydocking            ->  synthetica.addons.docking
SyntheticaAddons jyiconfonts          ->  synthetica.addons.iconfonts
SyntheticaAddons swingx               ->  synthetica.addons.swingx
SyntheticaAddons netbeans             ->  synthetica.addons.netbeans
SyntheticaAddons Dark theme           ->  synthetica.addons.theme.dark
SyntheticaAddons Plain theme          ->  synthetica.addons.theme.plain
SyntheticaAddons BlueLight theme      ->  synthetica.addons.theme.bluelight
SyntheticaAddons AluOxide theme       ->  synthetica.addons.theme.aluoxide
SyntheticaAddons Classy theme         ->  synthetica.addons.theme.classy
SyntheticaAddons BlackEye theme       ->  synthetica.addons.theme.blackeye
SyntheticaAddons Simple2D theme       ->  synthetica.addons.theme.simple2d
SyntheticaAddons WhiteVision theme    ->  synthetica.addons.theme.whitevision
SyntheticaAddons SkyMetallic theme    ->  synthetica.addons.theme.skymetallic
SyntheticaAddons MauveMetallic theme  ->  synthetica.addons.theme.mauvemetallic
SyntheticaAddons OrangeMetallic theme ->  synthetica.addons.theme.orangemetallic
SyntheticaAddons BlueSteel theme      ->  synthetica.addons.theme.bluesteel
SyntheticaAddons BlackMoon theme      ->  synthetica.addons.theme.blackmoon
SyntheticaAddons BlueMoon theme       ->  synthetica.addons.theme.bluemoon
SyntheticaAddons SilverMoon theme     ->  synthetica.addons.theme.silvermoon
SyntheticaAddons BlueIceMoon theme    ->  synthetica.addons.theme.blueice
SyntheticaAddons GreenDream theme     ->  synthetica.addons.theme.greendream
SyntheticaAddons BlackStar theme      ->  synthetica.addons.theme.blackstar
SyntheticaAddons Standard theme       ->  synthetica.addons.theme.standard   

The library syntheticaAddonsWithThemes.jar which includes all theme extensions required for SyntheticaAddons is no longer provided. The library was created in V1 for your convenience to decrease the number of libraries required for your projects. However, because of the high number of available themes and in respect of JPMS it makes no sense to provide the library any longer.

For proper execution without any errors/warnings make sure to pass the arguments below to the JVM. Note: Don't forget to add the arguments required for the synthetica.base module too - see Synthetica's 'README.TXT'.

--add-exports=java.desktop/com.sun.java.swing.plaf.windows=synthetica.addons.base
--add-opens=java.desktop/javax.swing.plaf.synth=synthetica.addons.base
--add-exports=java.desktop/com.sun.java.swing.plaf.windows=synthetica.addons.table
--add-exports=java.desktop/sun.swing=synthetica.addons.swingx   
 

Legacy Mode (Classpath Mode)

Of course you are not forced to use the new module system. You can simply use our libraries as usual by specifying a classpath. However, in this case you have to use the JVM arguments below to avoid any errors/warnings.

--add-exports=java.desktop/com.sun.java.swing.plaf.windows=ALL-UNNAMED

Alternatively, you can put the arguments into the manifest.mf file of your application by adding the attributes below - however, this will work only if your application is executed as jar file in legacy mode (classpath mode). Means as usual with specifying a class path instead of a module path. Note: Be aware that Web Start does not respect these entries - in this case you have to use the JVM arguments from above and add it to the j2se entry of your jnlp file.

Add-Exports: java.desktop/sun.swing java.desktop/sun.swing.table java.desktop/sun.swing.plaf.synth java.desktop/sun.awt.shell java.desktop/com.sun.awt java.base/sun.security.action java.desktop/com.sun.java.swing.plaf.windows    
Add-Opens: java.desktop/javax.swing.plaf.synth java.desktop/javax.swing.plaf.basic java.desktop/javax.swing java.desktop/javax.swing.tree java.desktop/java.awt.event
 

JPMS Integration

Generally you only have to add the modules of the required themes to your application. However, by not using the static clause all specified theme modules are mandatory to run your application. Which means at compile and run time.

With using the static clause all specified theme modules are optional at run time. However, in this case you have to tell the JVM which of the theme modules should be added to the module graph e.g. by using --add-modules.

Example:

module synthetica.demo
{
   requires synthetica.addons.base;
   requires synthetica.addons.swingx;
   requires synthetica.addons.widgets;
   requires synthetica.addons.docking;
   requires synthetica.addons.table;

   requires static synthetica.theme.aluoxide;
   requires static synthetica.theme.blackeye;
   requires static synthetica.theme.blackmoon;
   requires static synthetica.theme.blackstar;
   requires static synthetica.theme.blueice;
   requires static synthetica.theme.bluelight;
   requires static synthetica.theme.bluemoon;
   requires static synthetica.theme.bluesteel;
   requires static synthetica.theme.classy;
   requires static synthetica.theme.dark;
   requires static synthetica.theme.greendream;
   requires static synthetica.theme.mauvemetallic;
   requires static synthetica.theme.orangemetallic; 
   requires static synthetica.theme.plain;
   requires static synthetica.theme.silvermoon;
   requires static synthetica.theme.simple2d;
   requires static synthetica.theme.skymetallic;
   requires static synthetica.theme.standard;
   requires static synthetica.theme.whitevision;
  
   requires static synthetica.addons.theme.aluoxide;
   requires static synthetica.addons.theme.blackeye;
   requires static synthetica.addons.theme.blackmoon;
   requires static synthetica.addons.theme.blackstar;
   requires static synthetica.addons.theme.blueice;
   requires static synthetica.addons.theme.bluelight;
   requires static synthetica.addons.theme.bluemoon;
   requires static synthetica.addons.theme.bluesteel;
   requires static synthetica.addons.theme.classy;
   requires static synthetica.addons.theme.dark;
   requires static synthetica.addons.theme.greendream;
   requires static synthetica.addons.theme.mauvemetallic;
   requires static synthetica.addons.theme.orangemetallic;
   requires static synthetica.addons.theme.plain;
   requires static synthetica.addons.theme.silvermoon;
   requires static synthetica.addons.theme.simple2d;
   requires static synthetica.addons.theme.skymetallic;
   requires static synthetica.addons.theme.standard;
   requires static synthetica.addons.theme.whitevision;
}   

Only the themes you want to use at run time will be added to the modules graph with --add-modules. In the example below it's the SyntheticaPlain theme.

java --add-exports=... --module-path synthetica.jar;syntheticaPlain.jar;syntheticaPlainAddon.jar;syntheticaDemo.jar --add-modules synthetica.theme.plain --add-modules synthetica.addons.theme.plain -m synthetica.demo/de.javasoft.synthetica.demo.Demo        
 

System Requirements

SyntheticaAddons V3 requires Java 9 or above - however, in case you have to support Java 6/7/8 and Java 9 you should consider to use SyntheticaAddons V1 in classpath mode only.

 

Product Links

Synthetica V3 has been released!(15:43, 30. Nov. 2017)

After a pretty long phase of development we are pleased to finally announce the release of Synthetica V3.0.0.

New Features

As you maybe know Synthetica V3 comes along with some great new features:

Synthetica Dark Theme Screenshot

SyntheticaSimpleDemo
 

TunesMockup application with SyntheticaDark theme enabled

Synthetica TunesMockup

SyntheticaTunesDark

Modules

For being JPMS compatible the package structure in V3 was reorganized, which also means that V3 is no longer backward compatible. However, class names are unchanged so your preferred IDE should be able to easily update all package imports of your application. All modules of Synthetica V3 are listed below.

Synthetica core                 ->  synthetica.base
Synthetica Dark theme           ->  synthetica.theme.dark
Synthetica Plain theme          ->  synthetica.theme.plain
Synthetica BlueLight theme      ->  synthetica.theme.bluelight
Synthetica AluOxide theme       ->  synthetica.theme.aluoxide
Synthetica Classy theme         ->  synthetica.theme.classy
Synthetica BlackEye theme       ->  synthetica.theme.blackeye
Synthetica Simple2D theme       ->  synthetica.theme.simple2d
Synthetica WhiteVision theme    ->  synthetica.theme.whitevision
Synthetica SkyMetallic theme    ->  synthetica.theme.skymetallic
Synthetica MauveMetallic theme  ->  synthetica.theme.mauvemetallic
Synthetica OrangeMetallic theme ->  synthetica.theme.orangemetallic
Synthetica BlueSteel theme      ->  synthetica.theme.bluesteel
Synthetica BlackMoon theme      ->  synthetica.theme.blackmoon
Synthetica BlueMoon theme       ->  synthetica.theme.bluemoon
Synthetica SilverMoon theme     ->  synthetica.theme.silvermoon
Synthetica BlueIceMoon theme    ->  synthetica.theme.blueice
Synthetica GreenDream theme     ->  synthetica.theme.greendream
Synthetica BlackStar theme      ->  synthetica.theme.blackstar
Synthetica Standard theme       ->  synthetica.theme.standard

For proper execution without any errors/warnings make sure to pass the arguments below to the JVM. Note: When using SyntheticaAddons some additional arguments are required - for more details take a look at SyntheticaAddons 'README.TXT'.

--add-exports=java.desktop/sun.swing=synthetica.base
--add-exports=java.desktop/sun.swing.table=synthetica.base
--add-exports=java.desktop/sun.swing.plaf.synth=synthetica.base
--add-opens=java.desktop/javax.swing.plaf.synth=synthetica.base
--add-opens=java.desktop/javax.swing.plaf.basic=synthetica.base
--add-opens=java.desktop/javax.swing=synthetica.base
--add-opens=java.desktop/javax.swing.tree=synthetica.base
--add-opens=java.desktop/java.awt.event=synthetica.base
--add-exports=java.desktop/sun.awt.shell=synthetica.base
--add-exports=java.desktop/com.sun.awt=synthetica.base
--add-exports=java.base/sun.security.action=synthetica.base
 

Legacy Mode

Of course you are not forced to use the new module system. You can simply use our libraries as usual by specifying a classpath. However, in this case you have to use the JVM arguments below to avoid any errors/warnings.

--add-exports=java.desktop/sun.swing=ALL-UNNAMED
--add-exports=java.desktop/sun.swing.table=ALL-UNNAMED
--add-exports=java.desktop/sun.swing.plaf.synth=ALL-UNNAMED
--add-opens=java.desktop/javax.swing.plaf.synth=ALL-UNNAMED
--add-opens=java.desktop/javax.swing.plaf.basic=ALL-UNNAMED
--add-opens=java.desktop/javax.swing=ALL-UNNAMED
--add-opens=java.desktop/javax.swing.tree=ALL-UNNAMED
--add-opens=java.desktop/java.awt.event=ALL-UNNAMED
--add-exports=java.desktop/sun.awt.shell=ALL-UNNAMED
--add-exports=java.desktop/com.sun.awt=ALL-UNNAMED
--add-exports=java.base/sun.security.action=ALL-UNNAMED

Alternatively, you can put the arguments into the manifest.mf file of your application by adding the attributes below - however, this will work only if your application is executed as jar file in legacy mode (classpath mode). Means as usual with specifying a class path instead of a module path. Note: Be aware that Web Start does not respect these entries - in this case you have to use the JVM arguments from above and add it to the j2se entry of your jnlp file.

Add-Exports: java.desktop/sun.swing java.desktop/sun.swing.table java.desktop/sun.swing.plaf.synth java.desktop/sun.awt.shell java.desktop/com.sun.awt java.base/sun.security.action   
Add-Opens: java.desktop/javax.swing.plaf.synth java.desktop/javax.swing.plaf.basic java.desktop/javax.swing java.desktop/javax.swing.tree java.desktop/java.awt.event 
 

Theme Classes

All theme packages have been reorganized for being JPMS compliant (no split-packages). A complete list of available theme classes can be found below. Note: In Synthetica V3 the core library (synthetica.jar) contains Synthetica core files only, no themes. Since V3 the standard theme is not any longer part of the core library!

de.javasoft.synthetica.aluoxide.SyntheticaAluOxideLookAndFeel 
de.javasoft.synthetica.blackeye.SyntheticaBlackEyeLookAndFeel 
de.javasoft.synthetica.blackmoon.SyntheticaBlackMoonLookAndFeel 
de.javasoft.synthetica.blackstar.SyntheticaBlackStarLookAndFeel 
de.javasoft.synthetica.blueice.SyntheticaBlueIceLookAndFeel
de.javasoft.synthetica.bluelight.SyntheticaBlueLightLookAndFeel 
de.javasoft.synthetica.bluemoon.SyntheticaBlueMoonLookAndFeel
de.javasoft.synthetica.bluesteel.SyntheticaBlueSteelLookAndFeel 
de.javasoft.synthetica.classy.SyntheticaClassyLookAndFeel
de.javasoft.synthetica.dark.SyntheticaDarkLookAndFeel
de.javasoft.synthetica.greendream.SyntheticaGreenDreamLookAndFeel
de.javasoft.synthetica.mauvemetallic.SyntheticaMauveMetallicLookAndFeel
de.javasoft.synthetica.orangemetallic.SyntheticaOrangeMetallicLookAndFeel
de.javasoft.synthetica.plain.SyntheticaPlainLookAndFeel
de.javasoft.synthetica.silvermoon.SyntheticaSilverMoonLookAndFeel
de.javasoft.synthetica.simple2d.SyntheticaSimple2DLookAndFeel
de.javasoft.synthetica.skymetallic.SyntheticaSkyMetallicLookAndFeel
de.javasoft.synthetica.standard.SyntheticaStandardLookAndFeel
de.javasoft.synthetica.whitevision.SyntheticaWhiteVisionLookAndFeel
 

JPMS Integration

Generally you only have to add the modules of the required themes to your application. However, by not using the static clause all specified theme modules are mandatory to run your application. Which means at compile and run time.

With using the static clause all specified theme modules are optional at run time. However, in this case you have to tell the JVM which of the theme modules should be added to the module graph e.g. by using --add-modules.

Example:

module synthetica.demo
{
   requires synthetica.base;

   requires static synthetica.theme.aluoxide;
   requires static synthetica.theme.blackeye;
   requires static synthetica.theme.blackmoon;
   requires static synthetica.theme.blackstar;
   requires static synthetica.theme.blueice;
   requires static synthetica.theme.bluelight;
   requires static synthetica.theme.bluemoon;
   requires static synthetica.theme.bluesteel;
   requires static synthetica.theme.classy;
   requires static synthetica.theme.dark;
   requires static synthetica.theme.greendream;
   requires static synthetica.theme.mauvemetallic;
   requires static synthetica.theme.orangemetallic; 
   requires static synthetica.theme.plain;
   requires static synthetica.theme.silvermoon;
   requires static synthetica.theme.simple2d;
   requires static synthetica.theme.skymetallic;
   requires static synthetica.theme.standard;
   requires static synthetica.theme.whitevision;
}   

Only the themes you want to use at run time will be added to the modules graph with --add-modules. In the example below it's the SyntheticaDark theme.

java --add-exports=... --module-path synthetica.jar;syntheticaDark.jar;syntheticaDemo.jar --add-modules synthetica.theme.dark -m synthetica.demo/de.javasoft.synthetica.demo.Demo        
 

System Requirements

Synthetica V3 requires Java 9 or above - however, in case you have to support Java 6/7/8 and Java 9 you should consider to use Synthetica V2 in classpath mode only.

 

Product Links

Announcing Synthetica V3 RC2 and SyntheticaAddons V3 RC1(13:46, 24. Nov. 2017)

We are pleased to announce the second release candidate of Synthetica V3.0.0 and the first release candidate of SyntheticaAddons V3.0.0.

Release Dates

The final releases are scheduled for the end of November 2017.

Modules

For more detailed information on how to use/install take a look at the README.txt of the downloaded package. Both products will still support the legacy mode (classpath mode) too.

 

Product Links

Announcing Synthetica V3 RC1(18:48, 30. Oct. 2017)

We are pleased to announce the first release candidate of Synthetica V3.0.0.

Features

As you maybe know Synthetica V3 comes along with some great new features:

  • High-resolution support
  • Scalability support
  • JPMS (Java module system) support
  • New modern/flat styled dark theme

Synthetica Dark Theme Screenshot

Release Date

The final release is rescheduled for November 2017.

Modules

For being JPMS compatible the package structure in V3 was reorganized, which also means that V3 is no longer backward compatible. However, class names are unchanged so your preferred IDE should be able to easily update all package imports of your application. The module name of Synthetica's core library synthetica.jar is synthetica.base.

The module names of our themes are listed below - each theme library has an unique module name.

Synthetica Dark theme           ->  synthetica.theme.dark
Synthetica Plain theme          ->  synthetica.theme.plain
Synthetica BlueLight theme      ->  synthetica.theme.bluelight
Synthetica AluOxide theme       ->  synthetica.theme.aluoxide
Synthetica Classy theme         ->  synthetica.theme.classy
Synthetica BlackEye theme       ->  synthetica.theme.blackeye
Synthetica Simple2D theme       ->  synthetica.theme.simple2d
Synthetica WhiteVision theme    ->  synthetica.theme.whitevision
Synthetica SkyMetallic theme    ->  synthetica.theme.skymetallic
Synthetica MauveMetallic theme  ->  synthetica.theme.mauvemetallic
Synthetica OrangeMetallic theme ->  synthetica.theme.orangemetallic
Synthetica BlueSteel theme      ->  synthetica.theme.bluesteel
Synthetica BlackMoon theme      ->  synthetica.theme.blackmoon
Synthetica BlueMoon theme       ->  synthetica.theme.bluemoon
Synthetica SilverMoon theme     ->  synthetica.theme.silvermoon
Synthetica BlueIceMoon theme    ->  synthetica.theme.blueice
Synthetica GreenDream theme     ->  synthetica.theme.greendream
Synthetica BlackStar theme      ->  synthetica.theme.blackstar
Synthetica Standard theme       ->  synthetica.theme.standard

For proper execution without any errors/warnings make sure to pass the arguments below to the JVM.

--add-exports=java.desktop/sun.swing=synthetica.base
--add-exports=java.desktop/sun.swing.table=synthetica.base
--add-exports=java.desktop/sun.swing.plaf.synth=synthetica.base
--add-opens=java.desktop/javax.swing.plaf.synth=synthetica.base
--add-opens=java.desktop/javax.swing.plaf.basic=synthetica.base
--add-opens=java.desktop/javax.swing=synthetica.base
--add-opens=java.desktop/javax.swing.tree=synthetica.base
--add-opens=java.desktop/java.awt.event=synthetica.base
--add-exports=java.desktop/sun.awt.shell=synthetica.base
--add-exports=java.desktop/com.sun.awt=synthetica.base
--add-exports=java.base/sun.security.action=synthetica.base

Legacy Mode

Of course you are not forced to use the new module system. You can simply use our libraries as usual by specifying a classpath. However, in this case you have to use the JVM arguments below to avoid any errors/warnings.

--add-exports=java.desktop/sun.swing=ALL-UNNAMED
--add-exports=java.desktop/sun.swing.table=ALL-UNNAMED
--add-exports=java.desktop/sun.swing.plaf.synth=ALL-UNNAMED
--add-opens=java.desktop/javax.swing.plaf.synth=ALL-UNNAMED
--add-opens=java.desktop/javax.swing.plaf.basic=ALL-UNNAMED
--add-opens=java.desktop/javax.swing=ALL-UNNAMED
--add-opens=java.desktop/javax.swing.tree=ALL-UNNAMED
--add-opens=java.desktop/java.awt.event=ALL-UNNAMED
--add-exports=java.desktop/sun.awt.shell=ALL-UNNAMED
--add-exports=java.desktop/com.sun.awt=ALL-UNNAMED
--add-exports=java.base/sun.security.action=ALL-UNNAMED

Alternatively, you can put the arguments into the manifest.mf file of your application by adding the attributes below. This is the recommended method for deployment of your application. However, this works only if your application is executed as jar file in legacy mode. Web Start does not respect these entries - in this case you have to use the JVM arguments from above.

Add-Exports: java.desktop/sun.swing java.desktop/sun.swing.table java.desktop/sun.swing.plaf.synth java.desktop/com.sun.java.swing.plaf.windows java.desktop/sun.awt.shell java.desktop/com.sun.awt java.base/sun.security.action   
Add-Opens: java.desktop/javax.swing.plaf.synth java.desktop/javax.swing.plaf.basic java.desktop/javax.swing java.desktop/javax.swing.tree java.desktop/java.awt.event 

Theme Classes

All theme packages have been reorganized for being JPMS compliant (no split-packages). A complete list of available theme classes can be found below. Note: In Synthetica V3 the core library (synthetica.jar) contains Synthetica core files only, no themes. Since V3 the standard theme is not any longer part of the core library!

de.javasoft.synthetica.aluoxide.SyntheticaAluOxideLookAndFeel 
de.javasoft.synthetica.blackeye.SyntheticaBlackEyeLookAndFeel 
de.javasoft.synthetica.blackmoon.SyntheticaBlackMoonLookAndFeel 
de.javasoft.synthetica.blackstar.SyntheticaBlackStarLookAndFeel 
de.javasoft.synthetica.blueice.SyntheticaBlueIceLookAndFeel
de.javasoft.synthetica.bluelight.SyntheticaBlueLightLookAndFeel 
de.javasoft.synthetica.bluemoon.SyntheticaBlueMoonLookAndFeel
de.javasoft.synthetica.bluesteel.SyntheticaBlueSteelLookAndFeel 
de.javasoft.synthetica.classy.SyntheticaClassyLookAndFeel
de.javasoft.synthetica.dark.SyntheticaDarkLookAndFeel
de.javasoft.synthetica.greendream.SyntheticaGreenDreamLookAndFeel
de.javasoft.synthetica.mauvemetallic.SyntheticaMauveMetallicLookAndFeel
de.javasoft.synthetica.orangemetallic.SyntheticaOrangeMetallicLookAndFeel
de.javasoft.synthetica.plain.SyntheticaPlainLookAndFeel
de.javasoft.synthetica.silvermoon.SyntheticaSilverMoonLookAndFeel
de.javasoft.synthetica.simple2d.SyntheticaSimple2DLookAndFeel
de.javasoft.synthetica.skymetallic.SyntheticaSkyMetallicLookAndFeel
de.javasoft.synthetica.standard.SyntheticaStandardLookAndFeel
de.javasoft.synthetica.whitevision.SyntheticaWhiteVisionLookAndFeel
 

Product Links

Synthetica V2.30.0 / SyntheticaAddons V1.12.0 released!(12:00, 29. Sep. 2017)

We are pleased to announce the release of Synthetica V2.30.0 and SyntheticaAddons V1.12.0. A complete list of changes can be found at the Synthetica changelog and the SyntheticaAddons changelog. The updates mainly cover Java 9 support in legacy mode - means Synthetica 2.X.X/SyntheticaAddons 1.X.X do not completely support the Java Module System (JPMS). If JPMS support is required you should consider to switch to V3.

When running on Java 9 you have to pass the arguments below to the JVM for proper execution without any errors/warnings.

--add-exports=java.desktop/sun.swing=ALL-UNNAMED
--add-exports=java.desktop/sun.swing.table=ALL-UNNAMED
--add-exports=java.desktop/sun.swing.plaf.synth=ALL-UNNAMED
--add-opens=java.desktop/javax.swing.plaf.synth=ALL-UNNAMED
--add-opens=java.desktop/javax.swing.plaf.basic=ALL-UNNAMED
--add-opens=java.desktop/javax.swing=ALL-UNNAMED
--add-opens=java.desktop/javax.swing.tree=ALL-UNNAMED
--add-opens=java.desktop/java.awt.event=ALL-UNNAMED
--add-exports=java.desktop/com.sun.java.swing.plaf.windows=ALL-UNNAMED
--add-exports=java.desktop/sun.awt.shell=ALL-UNNAMED
--add-exports=java.desktop/com.sun.awt=ALL-UNNAMED
--add-exports=java.base/sun.security.action=ALL-UNNAMED

Alternatively, you can put the arguments into the manifest.mf file of your application by adding the attributes below. This is the recommended method for the deployment of your application.

Add-Exports: java.desktop/sun.swing java.desktop/sun.swing.table java.desktop/sun.swing.plaf.synth java.desktop/com.sun.java.swing.plaf.windows java.desktop/sun.awt.shell java.desktop/com.sun.awt java.base/sun.security.action   
Add-Opens: java.desktop/javax.swing.plaf.synth java.desktop/javax.swing.plaf.basic java.desktop/javax.swing java.desktop/javax.swing.tree java.desktop/java.awt.event 

License

As you maybe know minor release updates are covered by the support subscription. For using the latest releases a new license key is required - please contact sales for getting a new license key or request a quote for the update in case you don't have a valid support subscription.

Product Links

<< Previous PageNext Page >>