Posted by editor
on September 12, 2006 at 7:41 AM PDT
Taking a look at look-and-feel development... also:
Feature Article: How to Write a Custom Look and Feel
Weblogs: Josh's magnifying glass hack source, Mason on a concurrency gotcha, and James Gosling on the closure "black hole",
Java Today: Gizmoball, Mifos, and Separation of concerns in webapps
Forum postings: Putting Swing's pieces together and scheduling method executions in GlassFish
Taking a look at look-and-feel development
I've only known a handful of people who've even attempted to develop a Swing look-and-feel, and those were all for internal corporate projects that were intended to only be used in one application, generally only on one operating system. The idea of creating a generally-useful L&F that could be widely distributed and used must be more of a challenge than most developers are up to -- look at the small number of L&F's compared to say, the overabundance of "skins" for WinAmp and similar media players.
One person who's up to the challenge is Kirill Grouchnikov, who you may recognize from his frequent appearances in the weblogs section of the front page. He has an immense knowledge of Swing, and a lot of that can be attributed to Substance , a highly-customizable look and feel that recently reached version 3.0.
There isn't a definitive book on look-and-feel creation, but if there were, Kirill should probably be the one to write it. He's working on some articles for java.net to show the way to aspiring L&F authors, and the first of these debuts today. In our Feature Article , How to Write a Custom Look and Feel , he discusses the ideas, values, goals, and hazards of L&F development. He then goes into what kinds of topics you'll need to understand, and lays out guidelines learned from his experience, rules-of-thumb that can help you deliver a more successful L&F.
James Gosling weighs in on the discussion of closures in JDK 7 in today's Weblogs . Describing
The Black Hole Theory of Design -- the idea that trying to design something "similar to but different from" something else that already exists tends to end up imitating the original -- he wonders if closures were the right direction for Java all along.
"Closures feel to me like one of these design Black Holes. When inner classes were designed, we wanted to avoid the complexity of closures. But this brought about oddness and tension of its own that has left me less than happy with inner classes. So, should we just give in to the force of gravity and go the rest of the way?"
Mason Glaves checks out a concurrency gotcha in
Rechecking Double Checking
Double checked locking. If you have been around Java long enough, especially if you are writing multi-threaded code, and double especially if you are used to performing perfectly safe double checked locks in C or C++, you'll have been shocked and amazed to learn that you can't do it safely in Java.
Finally, Joshua Marinacci is releasing the
Source to the Magnifying Glass Hack :
"It can be tough sometimes, to admit with I can't do something; but I would rather admit I don't have the time for this rather than have the code rot on my hard drive. So, here it is."
In Java Today ,
the JavaDesktop Community is highlighting Gizmoball , a nifty pinball game editor app from students Greg Belote, Joshua Wang, and Tiffany Chang at MIT, as the community's latest featured Web Start application. "Gizmoball is a version of pinball, an arcade game in which the object is to keep a ball
moving around in the game, without falling off the bottom of the playing area. The player
controls a set of flippers that can bat at the ball as it falls." The player creates flippers, balls, pins, and other assorted thingamajigs, and and then wires up actions to keys. Press the "run" button and you'll be entertained for hours.
Microfinance Open Source (Mifos ) describes itself as "an exciting open source information system to fight global poverty. Microfinance is a proven technique to help people lift themselves out of poverty. The challenge now is to scale microfinance operations around the world to reach more people and to attract more capital. Mifos will be a high impact solution because it removes several of the barriers to growth of microfinance programs. Volunteer contributors are needed!"
"Separation of concerns is a core principle of Service-Oriented Architectures. Unfortunately, this principle is often lost when it comes to the implementations of SOA services. All too often we see a big implementation class with multiple concerns such as security, transaction management, and logging all mixed in with the business logic." So what's a developer to do? In the ONJava article Separation of Concerns in Web Service Implementations , Tieu Luu advocates using Spring alongside Axis2 to achieve separation at the implementation level, doing so by bridging in a security framework that is separate from the business logic.
In today's Forums ,
paul_mattheis is having a hard time taking the pieces of Swing and
Putting it all together :
"Ok, so I have found a ton of books/articles/etc about the individual components of Swing, some even with small sample applications to show off the components. But what I'm looking for is books/articles/(good) examples on how to actually create good, maintainable Client-side applications. I have some ideas on things I want to create, but I always get stuck on where to start the "architecture" of the application so that it is maintainable, simple, and acstetically pleasing."
wonders if GlassFish gives him a way to
Schedule method executions
"Assuming I need some methods to be executed during specific times or per constant interval (for example a process that go through all orders within the system and make sure all of them were paid in time), is it possible to schedule these method executions through GF? or I have to use an external scheduler such as Quartz?"
In today's java.net
News Headlines :
Registered users can submit news items for the
href="http://today.java.net/today/news/">java.net News Page using our
form . All submissions go through an editorial review before being
posted to the site. You can also subscribe to the
href="http://today.java.net/pub/q/news_rss?x-ver=1.0">java.net News RSS
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
Taking a look at look-and-feel development