Skip to main content

Walking on the Moon

Posted by editor on June 26, 2007 at 8:59 AM PDT

Another strange trip with Flying Saucer

Now here's an irony... despite the usual trend of media formats having being more readable than writable, PDF's may be easier to create than to view in Java SE. Adobe's own PDF component is long out of date, and many alternatives are commercial, although a list at does show some open-source readers. But for just writing PDF, the open-source iText library is available and quite popular. So popular, in fact, that the Flying Saucer project adopted it as an optional rendering technology.

In our Feature Article, Flying Saucer founder Joshua Marinacci takes a look at

Generating PDFs for Fun and Profit with Flying Saucer and iText:

PDFs are a great format for maps, receipts, reports, and printable labels. Flying Saucer and iText let you produce PDF files programmatically without having to use expensive tools or cumbersome APIs. By using plain XHTML and CSS, your graphic designer can use their existing web tools like Dreamweaver to produce great looking CSS templates that you or your developers plug in to your applications. By splitting the work, you can save both time and money.

In Java Today,
the JFXBuilder blog talks about the latest feature effort, MouseOver Animations in JFXBuilder/JavaFX: "This week we've been playing with a user friendly way to easily configure graphical and animated actions for common input events, like MouseOver and MousePressed. JFXBuilder already has a shape custom tailored for this called a "SwitchShape". The basic idea is to select a group of shapes that we want to react to a mouse event, select the menu item "Group in SwitchShape", then simply configure the look of the different "versions" (MouseOver, MousePressed, etc.)."

The GlassFish Plugins Project enables IDE users to develop, deploy and run their Java Enterprise Edition (Java EE) applications using their favorite IDEs. Available plugins support NetBeans (included with NetBeans 5.5.1 and 6.0 M9), Eclipse 3.3 Europa with WTP 2.0 RC3, Eclipse IDE 3.2 and MyEclipse. There are also NetBeans plugins for jMaki, Phobos, and more. The project is also actively seeking more developers to develop plugins for other IDE's.

ComputerWorld is hosting an excerpt from Java Data Mining: Strategy, Standard and Practice by Mark F. Hornick, Erik Marcad and Sunil Venkayala. "This book excerpt uses an example sales campaign to introduce the Java Data Mining application programming interface. From data preparation to modeling to evaluation and deployment, the short example gives a feel for the business problem and solution."

In today's Weblogs Greg Murray introduces a

jMaki Revolver Widget.
"After many requests I have created a re-usable widget for the revolver. The revolver provides an alternative way to provide top level navigation. This widget can run in the context of jMaki or in a regular web page."

SalutafugiJMS -- Java Messaging Service on ZeroConf, David Walend writes:
"SalutafugiJMS is a peer-to-peer implementation of the Java Messaging Service specification that uses ZeroConf DNS-SD discovery and TCP sockets to communicate in a distributed computing system. Name the JMS Queues and Topics for information your system needs to exchange. Your system consumes what your system needs. Your system sends out what it chooses. SalutafugiJMS takes care of the rest, leaving your system very loosely coupled."

Finally, Felipe Leme offers
My suggestion for Servlet 3.0.
"The Servlet 3.0 JSR is out. I have a simple - yet very useful - suggestion for improvement. "

In today's Forums,
spk would like to
Disable automatic publishing of webservices.
"Since I use XFire as an SOAP stack I would like to disable automatic publishing annotated via @WebService session beans as webservices. Any ideas? I think I could write some servlet filter to block an access to JAX-WS based webservices (if published URLs follow some pattern) but maybe there is some simpler solution. If anyone wonder why I decided to use XFire instead build-in JAX-WS+WSIT... XFire framework is *pragmatic* and well documented. Using EJB3 or HiveMind services as webservices or adding various WS-Security profiles was usually trivial. Compare that with oh-so-NetBeans-centric and fragile WSIT documentation."

nbhatia contributes some design and practice perspectives in a thread on
Swing best practice: inheritance vs. composition
"I hear you. Very few people seem to USE Swing components as is - a good example is JGoodies samples - they use PanelBuilders to construct JPanels - without extending them. On the other hand, NetBeans Matisse goes the inheritance route. Most Swing books I have read also use inheritance quite heavily - perhaps it is more convenient! Anyway, I don't want to start a holy war, just trying to find out from experienced Swing developers if they prefer one approah over the other. Are there any good examples of running into trouble from one of two approaches?"

In today's second item involving ZeroConf networking, luposlip asks about
ZeroConf/Bonjour/multicast on CLDC1.1/MIDP2.0? "Does anyone know if it is somehow possible - using 3rd party api's or in any other way - to let a CLDC1.1/MIDP2.0 compatible phone (Nokia N95) support multicast IP/multicast DNS as used in such frameworks as Apple's ZeroConf/Bonjour API? What I need seems like what is contained in JSR 259 but it's very hard to tell when the JSR and it's RI will be done, not to mention when devices will be shipped with it. I know that it is possible to make the hardware support multicast DNS (as specified in JSR 259), but I don't know how to do it from Java."

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.

Another strange trip with Flying Saucer