Posted by editor
on August 15, 2008 at 7:10 AM PDT
LWUIT goes open source... also:
Java Today: LWUIT open-sourced and updated, a two-stage closure proposal, and interactive TV with Java
Weblogs: Terrence on LWUIT announcement and Josh on applet loading screens
java.net Poll: Would you be interested in developing and selling ME apps through an "App Store"?
Forum Posts: Painters, basic networking concepts, Windows Mobile painting performance, and stay away from coerceData()
Featured Podcast: j1-2k8-mtH06: JT Harness - Open Source Test Harness
LWUIT goes open source
The front page has had uncanny timing this week. On Tuesday , we noted the Zero and Shark OpenJDK projects, which were officially approved by the OpenJDK porting group the next day . Then yesterday , we featured an article on the Lightweight UI Toolkit (LWUIT), just hours before a major announcement about LWUIT's status... which is today's big news
Shai Almog's blog announces that the Lightweight UI Toolkit (LWUIT) has been released under the GPL with Classpath Exception license . "Today we are finally switching to the java.net SVN repository for all development which means changes to LWUIT will be made live within that repository." Those checking out the code or the latest drop will find a number of new LWUIT features, including live drag and drop support for components in layouts, component z-ordering support, a new absolute/scalable layout, SVG Image, 3D transitions, and more.
Today's Weblogs begin with Terrence Barr's own announcement, LWUIT released as open source! "To further accelerate the adoption of the LWUIT framework it is important to provide access to the source code under a liberal and well-known open source license. So today Sun is announcing the release and immediate availability of the complete source code of the LWUIT framework under the GPLv2 license with the Classpath Exception. This license choice provides the benefits of open source innovation and collaborative development while offering a risk-free path to adoption by commercial products - a model everybody should feel very comfortable with."
Meanwhile, JavaFX's Joshua Marinacci returns to broadly-applicable desktop topics in A Better Applet Experience, Part 1: a custom loading screen . "You may have heard that JavaSE 6 update 10 is supposed to improve the experience of applets. You may have even seen the demos of dragging and dropping applets out of the webbrowser, but there's a lot more to it than that. In this series of blogs I'll show you how to get the most out of deploying your applets, even if you aren't using Update 10."
"There is a clear winner, but there is also a proposal that is most argumented against. The problem is that both of those are BGGA..." In Closures - Breaking the Deadlock , featured in our Java Today section, Mikael Grev argues that something is needed in the Java 7 timeframe -- if only to keep Java from being "nuked in the blogosphere" -- and offers a two-step proposal to bolster inner and anonymous classes for Java 7 and then get BGGA fully baked for Java 8. The accompanying JavaLobby discussion includes comments from other closure proposal authors, including Stephen Colebourne and Howard Lovatt.
Developers in the IP-based interactive TV market face tough challenges writing and deploying applications for existing proprietary middleware platforms. To address these developer challenges, Sun and DigiSoft.tv worked together and, in April 2008, announced the general availability of a Java ME based client platform for IPTV set-top boxes (STBs). In Interview: Digisoft.tv's John Allen on Interactive Television , Digisoft.tv CEO John Allen discusses this joint solution.
The latest java.net Poll asks
"Would you be interested in developing and selling ME apps through an "App Store"?" Cast your vote on the front page, then visit the results page for current tallies and discussion.
In today's Forums ,
robross explains the current thinking in 2D APIs in the follow-up Re: Problem with layers . "The latest modern design strategy centers around the concept of "Painters." This is just a delegate object that does the actual painting. So instead of having a single paint() method in a component that does all the work, that component now calls out to its Painter delegate to do the actual painting. This allows for a more flexible design since you can swap out painters as needed to produce different effects, and you can combine painters to do combination of effects. The Filthy Rich Clients book discusses this concept in great detail, and the SwingX project in SwingLabs uses this model extensively in its components."
tarbo offers an introduction to the basics of networking in
Re: data sharing between Java & non-java . "From the nature of your questions, I'm having the impression that you're new around communication networks. Going on that assumption, allow me to go through some of the basics. [...] Before you build your server, you must consider the nature of your connections. Is it imperative that the data come across correctly and completely, or is it acceptable that data is lost along the way? An example of a need for integrity is when viewing documents. An example of an application that may accept some loss is a video conference. Reliable transfer uses TCP, unreliable uses UDP. In Java NIO, TCP is modelled through (Server)SocketChannel, while UDP is modelled through DatagramChannel."
Davy Preuveneers considers mobile graphic performance inRe: Phoneme advanced, personal profile, PNG images . "I am well aware that this method can be a few hundred times slower. Windows Mobile 5 provides the AlphaBlend method call, but it appears that not all devices support it. I have read some reports on forums that the Imaging API is rather slow too [...] But it is probably faster than the Java implementation. If the AlphaBlend method does not work, I can only hope that providing a native blending implementation helps."
Finally, Jim Graham puts a "DO NOT ENTER" sign on a mysterious method in
Re: [JAVA2D] drawImage() and isAlphaPremultiplied() . "I think you are getting confused by some under-documented APIs that never had a useful purpose for developers and, in consequence, that have some undiscovered bugs in them. coerceData is not the way to make a premultiplied image. Even worse, it can have dangerous effects on an existing image. It is used internally to munge raster data in the constructor that takes a raw raster and colormodel, but it is not meant to be used in any other cases, or its behavior in other cases is questionable at best, and buggy as you've discovered at worst."
The latest JavaOne Community Corner Podcast is
j1-2k8-mtH06: JT Harness - Open Source Test Harness by Brian Kurotsuchi. JTHarness is an open source extensible test harness, which can also serve as a front-end for JUnit tests.
Current and upcoming Java
Registered users can submit event listings for the
href="http://www.java.net/events">java.net Events Page using our
href="http://today.java.net/cs/user/create/e">events submission form.
All submissions go through an editorial review before being posted to the
Archives and Subscriptions: This blog is delivered weekdays as
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
LWUIT goes open source