[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

javax.swing.plaf; next steps

From: Sascha Brawer
Subject: javax.swing.plaf; next steps
Date: Fri, 27 Jun 2003 10:13:16 +0200

Hi all,

I am glad to announce that the GNU Classpath implementation of the
package "javax.swing.plaf" has been finished. This package provides
abstract base classes for pluggable look and feels, so most of the work
has been to write documentation.

Like javax.swing.border and javax.swing.plaf.basic.BasicBorders, the code
has been tested by prepending the Classpath implementation to the
bootclasspath of a Sun JDK, and running SwingSet2.

For a UML diagram that (sort of) explains Swing's pluggable look-and-feel
architecture, see the file javax/swing/plaf/doc-files/ComponentUI-1.png
in CVS. As the diagram shows, the real work is mostly done in other
packages, especially javax.swing.plaf.basic. Unfortunately, this is a
place where Classpath has not come very far yet.

So, if someone would like to step in, I think it would be a good time to
start now, for example by making one of javax.swing.plaf.basic.Basic*UI
work. One could pick a single widget (like JSlider) and develop its UI
delegate (javax.plaf.basic.BasicSliderUI) independent of the rest. To
test the code, use the -Xbootclasspath/p option of the Sun JDK.

A smaller, but maybe also a bit tedious task would be reviewing and
documenting the classes in javax.swing.event.

For all text-editing, including a simple JTextField, we need a working
implementation of javax.swing.text. This is a hairy beast, but it would
be quite interesting to do, and very useful for other applications. For
instance, one probably could use javax.swing.text as the foundation for a
desktop publishing application. Because the text-processing framework
seems very much like OpenStep (GNUStep/NeXTStep/Cocoa), I think this task
would be ideal for someone who is familiar with that framework.

Someone who knows about Human-Computer Interaction could write a look and
feel. Because Classpath uses the same APIs as the Sun implementation,
this new look and feel would work everywhere. AFAIK, there also float
some free look and feels on the net, but I did not check this in detail.

Eventually, we will also need java.swing.{colorchooser, filechooser,
table, tree, undo, plaf.metal, plaf.multi}. However, implementing these
now might be slightly pre-mature. First, we probably should be able to
say "Hello World" in Swing...

Best regards,

-- Sascha

Sascha Brawer, address@hidden, 

PS: Thanks again to Michael Koch for having run japitools.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]