The topic for an upcoming Ask the Experts session, slated for October 16-20, is Swing. Four technical representatives from the Swing, Java 2D, and AWT teams at Sun will stand by online to answer your questions.
on Oct 4, 2006
on Oct 2, 2006
My latest hobby project went online today. This project, named "sorcerer" generates HTML files from Java source code, and it does so in a way better than existing tools, thanks to the excellent javac tree API in JDK6. Just take a look at the sample report and see it for yourself.
There have been a few source code cross reference generators, like JXR in Maven and OpenGrok, but the problem I...
on Sep 19, 2006
hack (hăk) n., A non-obvious solution to an interesting problem.
This definition is on the front of a tee-shirt I have from O'Reilly Media to promote their Hack Series, which includes one of my favorite books, Swing Hacks by fellow java.net bloggers Joshua Marinacci and Chris Adamson. The reason I like the Hack Series is that even for subjects you know fairly well, these books describe...
on Sep 16, 2006
This may seem like ancient history now, but when Swing was first developed the team was sucked into a maelstrom of technical and corporate controversy. The biggest areas of contention were:
It must be fully JDK 1.1-compatible, distributable as a separate library;
It must make use of the new Java 2D and other interesting features in the upcoming Java 2 release;
It had to be part of the core...
on Sep 5, 2006
As I talked before, the first wave of plugins are now available for download. Those are the japex plugin and the java.net uploader plugin. The source repository contains a few more plugins, but they are probably not of interest to people outside Sun (or those who run TCKs.) There's also a new version of Hudson, as usual, for you to play with.
I also noticed that someone said some nice thing...
on Aug 29, 2006
I've been spending some time on adding plugin support to Hudson.
What gradually became evident while developing Hudson was that every software development project has some different needs when it comes to their builds (just see how many plugins people have written for Maven, as an example.) So it's necessary for a CI system like Hudson to be able to adapt to these needs, and the obvious way to...
on Aug 19, 2006
In addition to a bunch of bug fixes, this release adds the ability to export from the HTTP Client to an XML file. This XML file can then be re-imported back into the HTTP Client, making it much easier to create repeated tests etc.. The XML file conforms to a schema (see URL in the exported XML file), so automated tools should find it trivial to generate appropriate requests for testing. You can...
on Aug 15, 2006
I just posted Hudson 1.40. This includes one of the biggest changes I made in Hudson, namely to ditch JSP/JSTL in favor of Jelly.
I've never been truly happy with JSP (and consequently any technologies built on top of it, including JSF and things like that.) It felt very anti object-oriented, because in JSP and their siblings, pages are always the king and the data is the servant. You write,...
on Aug 8, 2006
Prequels: This Trip and Tick series kicked off with
Checking out a java.net project
and continued with
JooJ up your project page with a Web Start demo.
I dunno if it's just me, but the few times i've tried to setup a new java.net project,
that is to get my Netbeans project/source and the java.net CVS married and
checked in, i seem to struggle for hours. But no more! Today we gonna make it...
on Aug 3, 2006
A new Hudson user jglick filed a whole bunch of RFEs against Hudson (often with patches.) Michael Vorburger also sent me several suggestions. These made me renew my energy toward improving Hudson.
One of many improvements that came out of this is to speed up CVS changelog computation. When you are doing a continuous build, every build usually contains only a small number of changes. In Hudson 1...
on Jul 26, 2006
Right now I am developing plugins-module for Greenbox Framework, and I spent so many times to discover how NetBeans works internally, its details, and a lot of related issues.
Ofcouse, I lot of users and customers asked me for an Eclipse Version, and I am trying to do almost the same, but NetBeans and Eclipse are completelly different platforms. Then all work I spend on NetBeans, anybody else...
on Jul 7, 2006
I got an email on Friday from a chap in Italy asking where he could
find a document on how to run aptframework
in Netbeans, which is like pressing not one but two or three, of my JButtons simultaneously,
and which has led to me to writing this blog article. I'm sure he'll be watching
Italy in the World Cup Final this weekend, rather than doing anything else,
but anyway here goes.
Let's say you...
on Jul 7, 2006
How much time do you need to assemble and configure a usable java development environment with the regular tools a java developer needs to start coding ? Well, you can cut some time here, by using a Linux LiveCD with Java Tools, just boot it up and your initial java environment is ready to the first javac.
This LiveCD is very useful when:
Your laptop refuses to work for you ,
If you did some...
on Jun 25, 2006
Writing a serious, consistent, nice-looking documents in HTML is hard. CSS improves the situation a bit, but it's still very painful. For example, suppose if you are writing a release note like this, and you want to do:
Generate the navigation bar in multiple pages
Have the same footer for all documents
If you can do the equivalent of JSP tag files (which lets you define your own tag, which...
on Jun 7, 2006
A recent technical paper on java.sun.com, Implementing Service-Oriented Architectures (SOA) with the Java EE 5 SDK, details the background concepts and describes the language constructs for developing SOA composite applications on the Java EE 5 platform. As an example, the article uses a sample app that's based on a loan-processing use caseone that includes HTTP/SOAP binding components and...
on Jun 7, 2006
Several years ago, I switched from Emacs to Eclipse. It was a bit
painful at first, but Eclipse had two killer features that, once I
discovered them, I could not live without.
Refactor -> Rename
I have since come to love Eclipse for many other features, small and
large, but those were the ones that made me switch. The instant
productivity gain was worth the...
on Jun 7, 2006
"There is no problem that cannot be solved by the use of high explosives."
Recently I was tasked with making an app translatable. It was a relatively small Swing app, e.g. 200 classes.
That means moving strings, like exception messages, into a resource bundle. I had some fun with a phased approach, which I present here.
Moving the strings
"The best armor is staying out of gun-shot...
on May 26, 2006
In the preceding blogs "Java is all you'll ever need" and "A Fool's Errand" I alluded to using Java for "small tasks" eg. file/system tasks, rather than shell scripts. I promised to present some examples along these lines.
This is Chapter 1 of many, and presents a basic design. We'll thrash it out in subsequent chapters.
My motivation for trying to move away from shell...
on May 24, 2006
A reader commented to my blog "Java is all you'll ever need" that "anyone thinking he needs only a single tool to do any job is a fool." That would be me. So lemme introduce you to this fool's errand...
Of course we need more than one tool. But it depends what you define as a "tool." Every library is arguably a different tool. So then a programming language is a tool to write tools (libraries...
on May 19, 2006