Skip to main content

Time Won't Wait

Posted by editor on August 21, 2008 at 7:31 AM PDT

OpenJDK 7 catches up Mac Java

Whether you attribute Apple's agonizingly late release of a Java SE 6 runtime for the Mac to changing priorities or nefarious skullduggery -- and made-up reasons are as good as anything else, because secrecy-obsessed Apple's certainly not saying anything to anyone about anything -- there has been a wide-ranging sense that going forward, maintaining Java on the Mac will almost certainly fall to the open source community. The zealots vow to take the ball from Apple and run with it, showing the company it was wrong to back-burner Java, while the pragmatists figure that Java matters more to the open-source community than to Apple, so the community's self-interest will eventually compel it to take matters into its own hands.

Whatever the case, a major announcement today shows that the ball is rolling to get the Mac up to speed with the next version of Java on a schedule much more amenable to Java fans and the open-source community as a whole. The big news is that Landon Fuller has announced that OpenJDK 7 is now runnable on Mac OS X (and the BSDs) as part of the OpenJDK BSD Port project, culminating the efforts of his SoyLatte project to bring the latest open-source JDK to the Mac. "The move to OpenJDK -- and Sun's re-licensing of the code under the GPL license -- opens the project to any interested contributor." He suggests there's more work to do with JCK conformance testing, enabling dtrace support, PowerPC and ARM support via the Zero project, Core Audio-based sound support, and more. To facilitate user testing, Landon has also posted OpenJDK 7 binaries for Darwin (and, by extension, for Mac OS X).

This is one of those developments that couldn't have happened before Sun's GPL'ing of Java. Apple's perpetually-late JVM's are a product of a commercial JDK license, ensnaring them in business considerations and legal restrictions. SoyLatte was able to bootstrap itself by means of a special license granted to BSD Java before the GPL announcement, and now the ongoing BSD work (including Darwin / Mac OS X) is part of the GPL OpenJDK, where it can mingle with other porting projects, like Gary Benson's fascinating Zero/Shark project, which Landon indicates may be the answer to providing an OpenJDK port to the older PowerPC Macs.

Also in Java Today, Macworld (of all sources!) notes a new Java-focused gaming site in Java Game Tome showcases Java games. " Noble Master Games on Tuesday announced a new Web site called the Java Game Tome. It focuses on highlighting games that have been written in the Java programming language. The Java Game Tome showcases games that run as Java Applets, Java Webstart or via download, and covers the gamut from action to adventure, puzzle, sport, simulation, strategy, education and casual games. Some games are single-player, some are multiplayer. Players who try out the games can rate and comment on them to provide feedback to the developers and to other players"

In a new screencast, Jeff Hoffman explains the JavaFX designer-developer workflow. Jeff, a User Experience Designer at Sun, shows how to use the features of Project Nile, which include export plugins for Adobe products, an SVG graphic converter, a JavaFX graphics viewer, and samples.

In our Feature Article, Michael Bar-Sinai offers a novel technique for Complex Table Cell Rendering Made Simple. After all, plain old text-only JTable cells are boring, but once you start to mix multiple types of cell renderers in a table, your getTableCellRendererComponent() method can get completely out of control. In this article, Michael offers a performant and clever alternative that looks up the needed renderer with class-based and rule-based maps.

The latest Java Mobility Podcast is
Java Mobility Podcast 54: Kicking Butt with MIDP and MSA, in which
Jonathan Knudsen talks about his new book, Kicking Butt with MIDP and MSA, and his tutorial on the Lightweight UI Toolkit (LWUIT).

Today's Weblogs begin with

JSF 2.0 EG Issue tracker traversal meeting, in which Ed Burns "describes today's JSF 2.0 EG meeting, at which we traversed each of the 234 currently open issues before the JSF 2.0 EG."

Ryan Shoemaker offers a new tutorial in
Developing MEP Client Applications - Part 1. "In my previous post, we took a closer look at the MCBO API and all of its features. Now it is time to show how to use the APIs to develop an MEP client application. In Part 1, we will focus on the fundamentals of the API: creating a SyncManager, initiating a sync, and examining the sync results. In part 2, we will study the security features provided in the client API."

Finally, in First UCLA JUG Meeting, Chris Bryant writes that "the first UCLA JUG meeting was held in the UCLA Visualization Portal."

In today's Forums, anvka describes an LWUIT List and focus issue. "I have a form containing a list with some items. When an user presses the "FIRE" button to select an item, a new form is shown. So far so good, but when the user presses the back key to display the old form it seems that the pressed listitem is already selected thus requiring an additional press of the "FIRE" button before one can scroll up and down in the list. I have done some research and found some suggestions of which none have worked. I've tried to "requestFocus" upon returning to the first form, with no result and I've also tried to "revalidate" the parent, also without results."

BD-J developer ken2006 asks about net/java/bd/tools/logger rendering with bookmenu?. "I'm doing a test integration of the logger tool, into the bookmenu example. When bookmenu first starts up, I do see the logger flash quickly by before the bookmenu content begins rendering, but I cannot "bring back" the logger screen focus with the VKs (tried assigning HRcEvent.VK_LEFT and HRcEvent.VK_1) (testing with PowerDVD in this case). Is this because GRIN renders over the top of what the logger draws, and if so is there a practical way to have the logger pause the GRIN render thread, or otherwise have the logger post-draw over each frame GRIN is outputting?"

Finally, while_na could use some guidance about Trigger in new javafx. "Does anyone know how to catch the event when our attribute is changed? i ask here: and he said that we need not to code it explicitly.. but how we can catch the events? somebody know?"

Current and upcoming Java

Registered users can submit event listings for the href=""> Events Page using our href="">events submission form.
All submissions go through an editorial review before being posted to the

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 it will be
archived along with other past issues in the href=""> Archive.

OpenJDK 7 catches up Mac Java


Zero and Shark aren't really "my" projects, they're Red Hat's :)

mmorris, It's one of the quirks of opening up Java. One group started the code base for JDK7 already, even though no one knows what will be in it yet. Another group started porting it to the BSD family of operating systems. A third group (the JCP) will ultimately decide what JDK7 implementations contain. None of it is done yet. We get to watch them make the sausage, odd bits and all. Hope that helps, Dave

Right, that's what I figured! Hmm.

Could someone explain to me how we can have OpenJDK (an implementation) without having a JSR (a specification) for Java 7?