:: JGOODIES :: Forms

:: Frequently Asked Questions ::

1. General

 1.1 - What are the main benefits of the Looks?
 1.2 - Can I use the Looks in a commercial product?
 1.3 - Where do I get the latest version?
 1.4 - Where can I find a version for Java 1.3?
 1.5 - Where do I get support?
 1.6 - How to report a problem?
 1.7 - Why not put the Looks JAR into the extension directory?

2. Working With the Look&Feels

 2.1 - How to use a JGoodies Look&Feel?
 2.2 - How to set a Plastic color theme?
 2.3 - How to remove the JTabbedPane content border?

3. Trouble Shooting

 3.1 - ClassNotFoundExceptions when launched with Java Web Start.
 3.2 - The Plastic color theme I set is ignored.
 3.3 - Plastic doesn't display Chinese, Japanese and Korean.

:: 1. General ::

1.1 - What are the main benefits of the Looks?

The Looks improve the readability, legibility and usability. They simplify the support for multiple platforms. And many people have reviewed them as elegant.

1.2 - Can I use the Looks in a commercial product?

You can use and redistribute the Looks in source and binary form - even for commercial use - if you comply with the terms of the BSD open source license.

1.3 - Where do I get the latest version?

The latest version is available in the project's download section section, where you can download the libraries, sources, tutorial, documentation and the Looks Demo.

1.4 - Where can I find a version for Java 1.3?

The Looks version 1.1.3 is available in the Archive of the Documents & files section of the java.net project pages.

1.5 - Where do I get support?

Please check this FAQ and do not send personal mail!

You may subscribe to the users mailing list and browse or search the list's archive. And you can direct new questions to users@looks.dev.java.net. Please register with this list before you post; otherwise I need to manually accept your messages. Also, you can use the issue tracker to find issues regarding the Looks. As a project observer you can log defects, request features and suggest enhancements.

Priority support is available for commercial licensees of the JGoodies Swing Suite. These can contact us by phone or direct questions to support@JGoodies.com.

1.6 - How to report a problem?

In case of a general problem, first browse or search the user mailing list archive. If you can't find anything useful, direct questions to users@looks.dev.java.net. Do not send personal mail! In your mail please provide the following information: Java vendor, Java version, Java build, OS, OS version, Looks version, the L&F used. For example: Sun J2SE 1.4.2_03, Windows 2000, Looks 1.2.1, PlasticXP.

For defects, features and enhancements use the issue tracker. Before you enter a defect, please make sure that the problem appears with the Looks only, not the underlying Java core look&feels. Try to reproduce Plastic defects with the Metal L&f and defects in the JGoodies Windows L&f with the default Windows L&f.

1.7 - Why not put the Looks JAR into the extension directory?

First off, this issue is not specific to the JGoodies Looks, it affects all Java libraries.

If you have full control over the applications running in a Java environment, you can put a single library version per library into the extension path. If you have no control over the applications running in your Java environment, use the user classpath only! Many runtime environments out there are shared by multiple applications, and so one has no control over the classes loaded or required by these applications. In this case, do not put a library version into the extension classpath.

Here's the problem: let's say you have a library class C with method C#m1. In a second version of the same class (C') you add #m2. If you put C into the extension path, and have an application that includes C' in its JAR, the app will load C, not C'. And the application may fail with a NoSuchMethodException or other exception. If the implementation of #m1 differs in C and C', the application will load C and execute C#m1 and won't benefit from changes to #m1.

Even if you can use the extension directory, you may consider extending the user classpath, for example by referencing all required libraries in a main JAR's manifest. Using the user classpath makes it simpler to move an application to other Java environments that you don't control, for example to provide a Web start version.

 

:: 2. Working With Look&Feels ::

2.1 - How to use a JGoodies Look&Feel?

   try {
      UIManager.setLookAndFeel(new PlasticXPLookAndFeel());
   } catch (Exception e) {}
More...

2.2 - How to set a Plastic color theme?

   PlasticLookAndFeel.setMyCurrentTheme(new DesertBlue());
   try {
      UIManager.setLookAndFeel(new Plastic3DLookAndFeel());
   } catch (Exception e) {}
More...

2.3 - How to remove the JTabbedPane content border?

   JTabbedPane tabbedPane = new JTabbedPane();
   tabbedPane.putClientProperty(Options.NO_CONTENT_BORDER_KEY, Boolean.TRUE);

 

:: 3. Trouble Shooting ::

3.1 - ClassNotFoundExceptions when launched with Java Web Start

If you use a third party l&f in a network launchable environment such as Java Web Start, you must indicate where to find the l&f classes:
   UIManager.put("ClassLoader", LookUtils.class.getClassLoader());

3.2 - The Plastic color theme I set is ignored.

To make use of a Plastic color theme, you must set the theme before you set the Plastic look&feel in the UIManager. More...

3.3 - Plastic doesn't display Chinese, Japanese and Korean.

The Plastic l&f family can display Chinese and other non-western fonts. However, many of the Plastic themes that ship with versions 1.2.x and 1.3.x can't display Chinese, Japanese and other non-western fonts.

These themes use a hard coded Tahoma font, not a logical font. And Tahoma cannot display Chinese and other non-western fonts.

If you want to display Chinese, Japanese or other non-western fonts, create or use a Plastic theme that uses a logical font, for example SkyBluer. Issue #10 has attached two other themes that use logical fonts.

Anyway, this issue has the highest priority for the Looks version 1.4 (Click here to see the progress on this issue). I plan to replace the hard coded font request by a font delegate that honors the platform and platform system fonts.

(c) 2005 JGoodies