classpath
[Top][All Lists]
Advanced

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

AWT and Swing progress


From: Mark Wielaard
Subject: AWT and Swing progress
Date: Thu, 04 Mar 2004 13:05:56 +0100

Hi all,

The following is an email I send to some people wanting to help out with
Swing. It is probably a good idea to post it to the list so others also
know about the current status of the current efforts with respect to
getting a free Swing implementation for GNU Classpath, gcj and other
free runtimes. If you are looking for things to help out with then this
email will contain lots of hints!

I do want to add that even though I am extremely happy we are now making
real progress on this front, it is still a lot of work. Even if we can
keep the current rapid progress it will take many months before we will
have something people can reliably use (for Swing, AWT is in a pretty
good shape now). And as noted below not all of AWT and Swing is covered
yet. Please don't recommend Swing to anybody except to say that if they
already have free software written that currently uses non-free Swing
implementation to contact us to see how we can help migrate the
application to what we are working on. (For new applications that need a
GUI, I would recommend the java-gnome bindings that will be part of the
next Gnome 2.6 release.
(http://www.gnome.org/start/2.5/bindings/ and http://java-gnome.sf.net/)

The approach we are taking is making sure that we have a AWT build
upon GTK+ peers (which is the most important peer implementation we want
at the moment since it integrates so nicely with the rest of the GNU
system). The AWT (peer) Components are mostly functional already.
Testing is done with the visual-tester in Mauve
(http://sources.redhat.com/mauve/). There is also a simple TestAWT
program in the classpath source tree of which you can see a screenshot:
http://www.klomp.org/mark/classpath/awt-04-03-2004.png

Other non-component parts of AWT are not yet implemented completely, or
have some stubs at the moment. These are java.awt.color,
java.awt.datatransfer, java.awt.dnd, java.awt.im.*. Help on these is
really appreciated. GTK+/freedesktop.org has libraries for cut & paste,
drag & drop, and internationalization that can/should probably be used
for some of these. The other big problem area is java.awt.image.*. If
you want to work on that package please ask on the list what the current
plans are (Thomas Fitzsimmons will probably coordinate this).

Swing is implemented on top of AWT and the java 2D (java.awt.geom)
classes that Graydon Hoare previously created (on top of the cairo
library from freedesktop.org). Although our current Swing implementation
doesn't really use java 2D at all.
http://people.redhat.com/~graydon/native-java2d-aug28-2003.png

Some parts (JList, JProgressBar, JSeparator, JButton and
JLabel) are starting to work, there is still a lot to do. But we are now
seeing daily progress. See for example the following two screenshots:
http://people.redhat.com/~graydon/free-swing-feb-09-2004.png
http://people.redhat.com/~graydon/free-swing-feb-25-2004.png

(Graydon, it would be nice if you could put the sample programs to
produce the above pictures online so others can directly play with it.)

Red Hat has recently been helping with working on the java GUI
technology (AWT and Swing). To make it easier for the Red Hat hackers to
work together on this without disrupting the other developers, which are
concentrating on other parts of the library, we have setup a CVS branch
for gcc/libjava (which hosts the libgcj library that gcj uses). This
work will be integrated into the main libgcj and GNU Classpath tree once
parts are finished and the code has been checked to make sure it
complies with our coding standards. This will happen aprox once a month.
The first merge will probably take place on March 12, after the 0.08
release.

For more detailed info and what to check out when you want to help with
this effort please see the following two mailinglist threads:
http://gcc.gnu.org/ml/java/2004-02/msg00063.html
http://mail.gnu.org/archive/html/classpath/2004-02/msg00022.html

Sascha Brawer has, independent from the above effort, implemented the
javax.swing.border and javax.swing.undo frameworks. He also created a
big test-suite for this package which has been added to the Mauve, a
collaborative effort to write a free test suite for the java core class
libraries (http://sources.redhat.com/mauve/).

We currently don't have people working on the javax.swing.text package
or the html and rtf subpackages which provide support for advanced text
components and working with html and rtf documents. Although Michael
Koch has some javax.swing.text fixes to at least get some simpler
programs using it compiling/running.

To get a wider perspective on GNU Classpath please take a look at the
presentation that Sascha Brawer and I gave at FOSDEM last week when you
want to get a more detailed understanding of the current status and
goals. "GNU Classpath: Core Classes for a Diversity of Java Virtual
Machines" http://dandelis.ch/people/brawer/articles/classpathFeb2004/

Finally Patrik Reali has put together a GNU Classpath Task List which
can be found at http://www.gnu.org/software/classpath/tasks.html. We
hope the task list will help people pick up both smaller and larger
things to work on when they want to help with GNU Classpath.

Cheers,

Mark

Attachment: signature.asc
Description: This is a digitally signed message part


reply via email to

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