I'm posting this for Swing's lead text engineer, Igor Kushnirskiy, who doesn't have a blog of his own (yet!). Here's what Igor has to say:
One of the most wanted Swing bug fixes is for 4296022 [html4.x support within a
JEditorPane]. We are planning to resolve this problem in the Dolphin
(J2SE 7.0) release.
To make sure all the important features are implemented we need your
help. We've created...
on Nov 17, 2005
It's my fault. The fact that adding a component to a JFrame required
one to explicitly add it to the JFrame's "contentPane" is my fault.
Early on in Swing's evolution we added a runtime exception that warned
developers not to write JFrame.add(myComponent) and it has been
raising hackles ever since. Graham Hamilton covered my transgression
My Favorite (Dead) Java Boilerplate
blog and I...
on Nov 16, 2005
There's been a lot of talk lately about Web 2.0, and which technologies are going to take us there. We can debate the exact definition of Web 2.0, but I'd say a rough approximation would be an application which blurs the distinction between desktop apps and web apps. Many feel that the future is ultra-thin browser based client platforms like XUL or Ajax but I think that Java has a place, and...
on Nov 14, 2005
I recently posted a screenshot of Twinkle, a demo involving Java2D, Swing and OpenGL. Here is a video showing Twinkle in action (so far):
Teaser in XViD format
Teaser in QuickTime 7/H.264 format
I will never thank enough Chris Campbell and Ken Russel for giving us these realy cool feature.
on Nov 10, 2005
For those who have missed, here are the previous two blog entries that showcase Office 12 ribbon component and discuss its Java implementation:
Who, who does not want to wear a ribbon? - introduction and the first implementation
Ribbon and smart resizing - how ribbon components are laid out during resizing
Since, the Java implementation of Ribbon has improved substantially. After you are done...
on Nov 10, 2005
This year, JavaOne Japan is during the week of November 7th in a jaw
dropping venue called Tokyo International Forum. On Tuesday
Scott Violet, Josh
Marianacci, and I made two presentations based on Desktop Java
talks from the San Francisco JavaOne: Extreme GUI Makeover, Episode 1:
Lookin' Good, and Extreme GUI Makeover, Episode 2: Runnin' Fast.
Sessions at JavaOne Japan are shorter,...
on Nov 9, 2005
The new OpenGL pipeline in Mustang let external API composite a Swing UI with an OpenGL scene. This allows JOGL to efficiently mix Swing and 3D. Twinkle, a simple photo viewer (it looks like Microsoft Max :), benefit from this. Take a look for yourself:
In this screenshot, the black background, the pictures strip on top and the caption at the bottom are drawn with Java2D. You can think of this...
on Nov 9, 2005
What makes a good conference? Okay, the quality of the candy between sessions is pretty important, but arguably of more importance (at least in justifying the cost to your boss) is the quality and applicability of the technical sessions.
In the interest of having the Greatest JavaOne Ever, I'm putting out this request: what would you like to see at the conference? What are the must-see...
on Nov 1, 2005
Quote from Sean Rhody's entry on WebServices Journal (marked by me in bold):
What is needed is the Post Browser, the Next Browser, whatever name you want to give to it. Sure, it can still run HTML (the old stuff), in a container that is essentially the same as today's browser. However it should be capable of complete look-and-feel customization via a standard markup language. It should provide a...
on Nov 1, 2005
Many apps require a 'close' icon on a tab of a JTabbedPane. The solutions I've seen so far all require manipulation of the L&F classes which can be considered bad in many respects.
There is another option that works without interference with the UI classes. It relies on a special implementation of Icon that is sensitive to the mouse itself. Such an icon can be set for each tab (setIconAt...
on Oct 29, 2005
My previous entry showed the way to provide visual indication of frames with changed content. Based on the suggestions from the comments, this behaviour has been also added to JTabbedPane.
Application should set
SubstanceLookAndFeel.WINDOW_MODIFIED client property
on the tabbed pane's Component (if it's JComponent). The value that
corresponds to unsaved state is Boolean.TRUE.
on Oct 27, 2005
Yesterday i have stumbled upon this entry from Apple developer zone. It shows how to indicate that a document window (frame in Swing application) has changed contents. The indication is similar to that of regular Mac application (dark dot in the close button). The way to accomplish this is to put a windowModified client property with Boolean.TRUE value on either the JRootPane or on the...
on Oct 20, 2005
I've been trying to think of a way to humbly announce that
no lesser authority than Evans Data Corporation has reported
that Swing is the dominant GUI Toolkit for Northern American
developers. It's difficult to present this new statistic with
the grace and humility of good sportsmanship because, after
nearly 8 years of steady growth:
"Java Swing with 47% use, has surpassed WinForms as the...
on Oct 18, 2005
Some of us recently visited the Sun offices in St. Petersburg, Russia, where we have lots of great client engineers working on AWT, Swing, and 2D. We spent most of the week working on various desktop development issues (like planning the features in the next release after Mustang).
But the most important contribution of our efforts there might be in the field of Swing Humor, a niche that has...
on Oct 18, 2005
What would you say if you opened the Options dialog in your application and it looked like this (click to see larger version):
I've blogged about adding watermark image before, but pay attention to the buttons. They are shaped like little rhinos. Don't like rhinos (or Beyonce)? No biggie, just change a few VM flags and here you go (click for larger view):
And now to the reason why would you...
on Oct 17, 2005
Does the following look familiar (under default Ocean theme in Metal LAF)?
The menu doesn't look good, with jagged items all over the place. The common solution in this scenario is to use a transparent icon on those menu items that don't have one. There are a few problems with this approach:
What happens if you add another menu item with slightly wider icon? You will have to adjust all other...
on Oct 10, 2005
When I'm home and need to tweak and plot an equation, I use an excellent tool that ships with MacOS X 10.4, Grapher. Easy to use, it fits my purpose and provides a good user experience:
As I don't want to carry both my laptops to the office every day, I bring only my Windows box, on which I have yet to find a tool to replace Grapher. I have tried several tools and none convinced me yet....
on Oct 10, 2005
Many months ago, Craig and I started the SwingFX project. One of the first components to be added was the infinite progress panel I described in a blog entry:
This component was quite successful (I've recently seen a variation in ZValley's ZEN) but it remains quite simple. Michael Bushe just added a very valuable feature, the ability to cancel the current running task:
You can get it today in...
on Oct 6, 2005
This past Saturday morning, a friend and I were in San Francisco at
Golden Gate park, walking out of the Speedway Meadow. It was cool and
overcast and the fog blanketed the tree tops and hung over our heads
and gave the surroundings the blurry hazy look of an old newsreel. We
were walking down into another hollow, listed on the map as Marx
meadow, and drifting toward us was the sound of Joan...
on Oct 5, 2005
Tired of "dealing with a dozen png representations of a single (logical) icon as separated files"? Tired of writing/debugging the code to treat multiple files as a single logical unit? Well, Daniel Leuck, SwingLabs, and Ikayzo bring you JIC : the simple multi-resolution cross-platform icon format for Java!
Ok, ok, a little dramatic I know. But hey, it's cool technology and cool technology is what...
on Oct 3, 2005