Internationalization with JFC/Swing Look and Feels
This is actually an updated and extended version of the paper below that has been presented at the 2005 JavaOne Conference in San Franzisco. You can download the presentation and the demo which I've shown at the conference. Please notice that although I'm currently a Sun Microsystems employee and although this work has been partially supported by Sun, it only contains my personal point of view of the topic. Sun Microsystems is by no means responsible for the content nor does this presentation reflect any official Sun position!
There are two versions of the presentation available. The first and bigger one contains a nice animation on the first slide which may cause problems with some older versions of Acrobat Reader and doesn't work at all with other PDF readers. So feel free to choose the one you like (although I think the animation is really cool:)
PDF Version with animation (7mb)
PDF Version without animation (500kb)
The following jar file contains the demo, which is an extended version of the standard JFC/Swing Notepad demo with two additional combo boxes in the toolbar which allow locale and Look and Feel switches at runtime. The demo should run with any 1.3 JDK and higher, although you will need at least 1.5 in order to see the Synth and the Ocean Look and Feel. To start the demo just type:
java -jar Notepad.jar
Notice: in order to see the GUI in Chinese you have to install a font in the JDK which contains the Chinese glyps. With JDK 1.5 this can be most easily achived by copying such a font into the JDK/jre/lib/fonts/fallback directory.
|International Swinging: |
Making Swing Components Locale-Sensitive
Although Java and its GUI library Swing provide software developers with a highly customizable framework for
creating truly ``international'' applications, the Swing library is not locale-sensitive to locale switches at run time.
The consistent and exclusive use of Unicode together with the builtin libraries for resource files and locales make it
easy to create internationalized applications. Taking into account Swings elaborate Model-View-Controller
architecture, this paper describes how to create GUI applications which are sensitive to locale changes at runtime,
thus increasing their usability and user friendliness considerably ...
Notice: This is a preliminary version of the paper published in
a supplement to "C/C++ Users Journal", Vol 20/No 8, August 2002
Postscript Version (1.358kb),
PDF Version (842kb),
The source code presented in the paper is available for download as a single jar-file