Substance LAF has turned one year old during a ten-hour flight over the Atlantic (on April 14) and celebrated this joyous event by providing even more color themes than before. The Aqua default theme is of no surprise
And along with it comes a variety of bright themes such as Bottle Green and Sunset
cold themes for subdued look such as Olive and Steel Blue
and dark themes (much...
on Apr 16, 2006
I've been meaning to blog about this for some time now, but work tends to get
in the way.
I'll make this quick: the main message here is that the Desktop Track is
looking better than ever this year. Besides the fact that we've got the
usual array of interesting stuff to talk about and the neatest demos on the...
on Apr 14, 2006
One of the Java Swing GUI toolkit's strong advantages is its flexible, easy-to-customize architecture. Swing isn't easy for beginners, but once you grok it, there are a lot of great ways to customize the behavior, state, and appearance of a widget. Indeed, if maximum flexibility is your goal, you'd be hard-pressed to find a better toolkit on any platform.
I used to hand-code all of my Swing code...
on Apr 13, 2006
Some time ago I wrote an article for Slashdot discussing Be, Apple, and the future of operating systems. The mention of Be should indicate just how far ago this was. The other day I decided to try to find the article both to find out if I was at all correct in my conclusions, and to see if my writing has improved at all. Well, I couldn't find the relevant article, as Slashdot's archives are...
on Apr 10, 2006
While working on my XML user interface language, JAXX, I wanted to provide a mechanism for users to add support for additional tags and data types. As JAXX is a command-line compiler, a run-time API to add additional features would be very awkward to access, so a Service Provider Interface (SPI) seemed like a natural fit.
In case you aren't familiar with SPIs, they have a tantalizing proposition...
on Apr 7, 2006
Jobs 'n' Jokes
Let's see; how should I start this?
Launch yourself into a new career...
Deploy yourself at Sun...
Pack200 your things and come work with us...
Install yourself into the deployment team...
Plug in to a new team...
Hmmm. How about something more straightforward...
Get a job.
The Deployment team at Sun is hiring...
on Apr 5, 2006
In my day job at Yahoo!, I face a frustrating problem: Java is the most powerful browser-based technology available, easily besting competitors like Ajax and Flex, and yet I can't use it. These are the main reasons:
It's too big - Sun is (rightfully) proud of the fact that 90% of computers already have Java installed, but that still means that 10% of my users are stuck having to...
on Apr 4, 2006
java.awt.Toolkit is an abstract superclass of all actual implementations of the Abstract Window Toolkit (AWT). Subclasses of java.awt.Toolkit are used to bind various components to particular native resources.
You may have noticed that many of the methods in java.awt.Toolkit, java.awt.GraphicsEnvironment and other classes require the availability of display, keyboard and mouse. You may...
on Apr 4, 2006
BeanNetter - the NetBeans Module Generator
So NetBeans has this cool component palette from which you can drag and drop components onto Swing
forms. But where are all the cool components? NetBeans just shows the default JDK Swing components - but there are lots of components out there. Wouldn't it be nicer if you could make them just appear in your IDE? And there are sites such as nbextras....
on Apr 3, 2006
The previous entry on LAF support for RTL components compared various core (Metal / Windows) and third-party look-and-feels for RTL-oriented menus. Due to a bug in core Swing classes, all LAFs suffered from accelerator alignment problem (has been since partially fixed in Looks). I have filed a bug (internal number 653437) on this issue on February 19th with the proposed fix, but five weeks later...
on Mar 28, 2006
Swing does a great job of separating data (the models) and controls (the components themselves), but it really doesn't do a good job of separating controls from presentation (the visual appearance of the controls).
Pluggable looks-and-feels help to a degree, but they are complicated to write and maintain, and on top of that they affect the appearance of every component of a particular type....
on Mar 24, 2006
I'm just relaying the information from JavaLobby but GroupLayout has been integrated into Mustang b76. GroupLayout is the layout manager that makes NetBeans' Matisse GUI builder shine. So, go grab Mustang, download NetBeans 5.0 and enjoy!
Please note that this new features still required the approval from the JSR 270 EG. You can find more information about Java SE 6 JSR on the JCP web site: http...
on Mar 18, 2006
Just a quick blog note (blote? bloat?) to deref to the article and code that I just posted. About a year ago, I posted the article
Timing is Everything that discussed timing, Java timers, and my new simple Timing Framework project on java.net.
I've been working on the project occasionally in the meantime, and have just finished implementing a host of new, interesting features like property-...
on Mar 16, 2006
This is the third part of the series that describes the additional capabilities that you can get on your tabbed panes once you start using the Substance look-and-feel. The first part described close buttons and animation on modified tabs, while the second part described vetoable close buttons and vertical tabs. This entry describes new features available in the next version of Substance (code-...
on Mar 14, 2006
I would just like to say that I'm more and more impressed with Matisse. It does it's absolute best to provide a realistic preview of running components at design time. Today I was building some component tests and was amazed to see that indeterminate progress bars are animated while in the designer! Have a look!
on Mar 9, 2006
Note: Since Java 6 release, an updated version of this text, including the code samples, is available as part of the Swing trail of Java Tutorial:
How to Use GroupLayout, GroupLayout example
The first part of this article provided the theory behind GroupLayout. Now it's time to try it on a real example.
So let's create a layout for this
A good way to analyze the layout is to use a...
on Mar 1, 2006
Every now and then someone drops by to ask about the slick chat/IM
demo components that were shown in the
Extreme GUI Makeover JavaOne session last year. The Swing
components created for those demos where hacked together in order to
show what's possible and sadly, they're not available as production
quality components just yet. I certainly like the idea of
on Feb 27, 2006
Substance look-and-feel has reached the 2.2 release, with a lot of new features and a lot of bugs fixed. The list of new features includes:
Zero memory leaks on switching themes / watermarks / ... and switching between Substance and core LAFs
Full interoperability with core LAFs
Animation on rollover (fade-in / fade-out).
Localization and internationalization.
Vertical tabs in tabbed panes....
on Feb 27, 2006
Often times when you are building an application you need to hook multiple components together in such a way that when one component changes others must do something. When you are building custom components there is often the temptation to build a custom set of listeners to go along with it. This seems like good component etiquette; after all this is how most of the javax.swing.* components are...
on Feb 26, 2006
With the release of version 2.2 of Substance look-and-feel scheduled for this Monday, i have started to work on the next version (2.3 code-named Firenze). One of the things i wanted to improve are color themes, and a lot of work has already been done in this area. For now, i want to introduce the concept of "mixed" themes.
Substance comes with eighteen core and twenty one plugin themes. The total...
on Feb 22, 2006