<Swing Dev> Project proposal: fbtoolkit

Joshua Marinacci Joshua.Marinacci at Sun.COM
Thu May 24 15:34:25 UTC 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.

* www.glossitope.org
  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 [2]
>> 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 [1]: "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  
>> Community."
>> 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...
URL: <http://mail.openjdk.java.net/pipermail/discuss/attachments/20070524/8160f0a3/attachment.html>

More information about the discuss mailing list