<AWT Dev> <Swing Dev> Project proposal: fbtoolkit
Joshua.Marinacci at Sun.COM
Thu May 24 08:34:25 PDT 2007
I'm not sure who exactly would want to sponsor this project and which
teams would be involved. Since AWT, 2D, and Swing are so closely
related they would likely all be involved. I can speak, however, to
the practical need for this project. There are many use cases for a
completely virtualized toolkit.
This is a project I started which lets you write widgets that run
on your desktop in Java. The version I prepared for JavaOne has lots
of cool effects that involve scaling, shearing, and otherwise
animating the widgets in weird ways. Since the widgets are just
Swing panels I draw them into buffered images and then blit those to
the screen. This has lots of odd problems that are hard to fix
properly, such as dealing with focus, handling combobox popups, and
keyboard events. These problems are difficult (if not impossible) to
solve outside of core.
* Project Looking Glass
Paul Byrne and I have discussed this extensively and he even had
another researcher start building a headless AWT that could be
projected into the Java3D scene graph. They got pretty far but ran
into a few places where AWT assumes it has a real windowing system
with access to X11 window handles. These are also impossible to fix
without changes to core. Solveing this would let them put Swing
applications directly into the 3d environment
* JOGL Minimal Scene Graph
Ken Russell and others would like to project Swing components
directly into the JOGL scene graph that they are building. This would
let you have a Swing panel that appears normal but can then slide
into the background to be replaced by other panel.
* full screen video games
We would like to let people use Swing components as the heads up
display in full screen video games. This means running in an
environment where there is no windowing system at all. This would
also be useful for kiosks and other semi-embedded environments.
So you can see, there is a great need for a virtualized Toolkit. I
think that most of the work could be done at the AWT level (and
hopefully let me scrap most of my Swing level hacks) but undoubtedly
it will affect many areas in core. This is something that is vitally
needed to let us take Java SE into new environments.
>> Allow me to clarify, as well, that the purpose of this project
>> is experimental and for prototyping. Think of this as a KSL 
>> style Project that should be associated with the appropriate
>> Group (i.e. 2D or AWT). Obviously such a Project, if approved, would
>> need a VCS "sandbox" as described in : "Projects that are not
>> tightly related to the development of JDK 7 will, for now, also be
>> given a regular java.net project within the java.net OpenJDK
>> Can we get a Group sponsor?
> I don't think we have a clue what sponsorship means. It certainly
> can't mean in this case any
> work from Sun engineers ( wish we had time for such ideas
> ourselves), or taking it back into openjdk
> in any time in the forseeable future.
> It just seems like an interesting expt this time, with unproven
> practical applications.
- Blasting forth in three part harmony!
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the awt-dev