OpenGL + Swing == pretty!
While we're waiting for the Aerith project to work through the legalese and get their source online, there's the question of how they got such nice effects to play with Swing and be performant. Usually, that seems like one of those multivariant equations where you can maximize two variables -- pretty, Swing-based, and performant -- at the expense of the third.
But there's an interesting hint in today's Forums, that speaks to the specifics of the "latest features of Mustang" that Romain talked about at JavaOne while demoing Aerith. Considering he also talked about OpenGL/JOGL and how the overlays were just
JPanels, it seems like there must be some secret sauce that pulls together OpenGL and Swing and makes them cohabitate in a nice high-performance way.
And I think that secret sauce is called
GLJPanel, if I'm reading the tip from Chris Campbell in Re: [JAVA2D] Repaint flicker when mixing swing & heavyweight correctly:
You mention that your app "necessarily" contains a heavyweight; have you looked into using GLJPanel instead? GLJPanel allows for 100% correct mixing of JOGL and Swing in the same app without worrying about flickering issues, and in JDK 6 and beyond, it is fully accelerated when the OGL-based Java 2D pipeline is enabled.
Mixing OpenGL and Swing in the hardware-accelerated rendering pipeline? Sounds tasty.
Well, we've got Mustang on the Mac now, and there's a nightly build of JOGL for PPC Macs (and a milestone release that's a Univeral Binary for Intel Macs), so that might be fun little research project... if I can remember any of that JOGL stuff that I did two years ago (avert your eyes, children!)
Also in today's Forums,
kellyohair weighs in on the prospects of changing the JDK build process on Windows in Re: Getting the JDK to use gcc. "Speaking as someone that has bloody fingers from building on Windows, I cannot disagree with you. There are concerns here, but we won't know until we try. Solaris builds using Solaris compilers is probably not going to change, but then again building Solaris with gcc is just a small mountain to climb. Getting the Windows builds to use gcc would be a big mountain to climb. But perhaps this mountain needs to be conquered, or at least scoped out."
Back on the topic of all things GUI and animated, in today's Projects and Communities, the Timing Frameworkproject, originally introduced in the articles Timing is Everything and Time Again, has released a pack of updates. The new version migrates demos to their own subproject, adds a triggers package, moves interpolation classes to their own package, fixes bugs, and adds support for doubles in KeyValues because Romain insisted.
The Order Management API project hosts the proposed spec for JSR 264, which is in public review through June 11. The API "specifies minimum requirements for an Order Management System interface, supporting end-to-end creation and management of Products, Services and Resources, including Work Orders."
In Also in Java Today, Offering another introduction to one of Java EE 5's marquee features, the SDN article The Java Persistence API - A Simpler Programming Model for Entity Persistenceby Rahul Biswas and Ed Ort offers an in-depth tutorial. "The Java Persistence API deals with the way relational data is mapped to Java objects ("persistent entities"), the way that these objects are stored in a relational database so that they can be accessed at a later time, and the continued existence of an entity's state even after the application that uses it ends. In addition to simplifying the entity persistence model, the Java Persistence API standardizes object-relational mapping."
Instead of writing general show impressions for a JavaOne wrapup feature, this year Daniel Steinberg focuses on this question of open sourcing Java, and Sun's two JavaOne announcements on the topic: a new license intended to make it easier to distribute the non-free JDK with certain Linux distributions, and a promise that the open sourcing of Java is, according to Executive VP of Software Rich Green, "not a question of whether, but a question of how." InTelling Stories at JavaOne, Daniel takes a thorough look at the content and context of Sun's JavaOne announcements, and surveys how they have been received by their intended audience in the open source community.
Kohsuke Kawaguchi deals with a Gripe about web services in today's Weblogs: "Arun brought a comment to his session to my attention, in which an user made some interesting comments about web services. Since I work on the JAXB RI, so I know a thing or two about the issue he's talking about."
In Swing and Roundabouts 1: Event DTs, Evan Summers writes: "JSR 296 aims to help Swing developers avoid common bad practices, eg. Swing apps that are "a tangle of actionPerformed methods that block the EDT." My last project was a tangle SwingWorkers upon SwingWorkers. This blog presents how I eventually untangled that application."
David Walend takes a listen to the podcast of his java.net Community Corner mini-talk in No Giant or Windmill, Just a Deranged Muppet, in which he offers "A quick note about my java.net talk on generics at JavaOne."
In today's java.net News Headlines :
- JavaSVN 1.0.6
- db4o 5.4
- Apache Lucene 2.0
- Crispy 1.0 Stable
- Funambol 3.0 beta 4
- SimpleCenter Going Open Source
Registered users can submit news items for the java.net News Page using our news submission form. All submissions go through an editorial review before being posted to the site. You can also subscribe to the java.net News RSS feed.
Current and upcoming Java Events :
- June 2-4, 2006 - Central Florida Software Symposium
- June 5-6, 2006 - Enterprise Open Source Conference
- June 9-11, 2006 - Research Triangle Software Symposium
- June 15, 2006 - NL-JUG: J-Spring
- June 16-17, 2006 - Salt Lake Software Symposium
- June 20-23, 2006 - Enterprise Java Architecture Workshop Seattle
- July 6, 2006 - Java Forum Stuttgart (JFS)
- July 7, 2006 - Experten Forum Stuttgart
- July 7-9, 2006 - Lone Star Software Symposium 2006: Austin Edition
- July 21-23, 2006 - Central Iowa Software Symposium 2006
- July 24-28, 2006 - O'Reilly Open Source Convention 2006
- July 28-30, 2006 - Desert Southwest Software Symposium 2006
Archives and Subscriptions: This blog is delivered weekdays as the Java Today RSS feed. Also, once this page is no longer featured as the front page of java.net it will be archived along with other past issues in the java.net Archive.
OpenGL + Swing == pretty!