| Swing
Sightings #19! |
October
31st, 2003
Boo! Swing
Sightings #19 up and live, just in time for Halloween!
As always
(!) lots of
nifty apps this time around, including a music management application
from Rio, a remote-control internet labratory controller from eLab,
and a spectacular update of DBVisualizer!
Click here to go to Swing Sightings.
|
| 2004
JavaOne(SM) Conference Call for Papers Is
Open |
October
17th, 2003
If you've ever thought about presenting
at the JavaOne Developer Conference, here's your chance!
Have a secret
for developing great programs with Swing GUIs? Talk about it in a Desktop
session. Have a great IDE? Consider a session in the Tools category.
The conference will be in San Francisco in late June, 2004; the deadline
for
session proposals is November 21.
|
| JavaDesktop:
A New Developer Community |
|
October 13th, 2003
JavaDesktop: A New Developer Community
The javadesktop.org
web site is for everyone who develops client GUIs
using the J2SE platform. It features forums, projects,
blogs, technical articles, and more!
Click here
to go to the JavaDesktop front page.
Click here to go directly to the
forums.
|
| Swing
Sightings No. 18 |
October
11th, 2003
The new Swing Sightings column is one of the most eclectic we've
produced in a while. We've got a pirate game for the kids
(Yohoho!), a crossword
puzzle game for English language students, not one but two photo
gallery apps for digital photo fans, a collaboration tool
from "Uncle
Dave Moffat", an EBay auction monitor, tools for creating database
applications, web applications, fractal movies, and one for visualizing
International Automotive industry ASAM-CEA standard
measurements.
There's
a new Java desktop (become a POD people), a generic database front-end,
an AOK spreadsheet, and to top it all off: an online game called FantasyHunt
with real animals, solar powered
robot cameras, and "bullets".
Click here to go to Swing Sightings
#18
|
| Swing
Sightings No. 17 |
August
26th, 2003
Swing
Sightings 17 is here! Two sightings in one month, a record for us!
;-). This time check out a trio of MineSweeper apps, as well as very
cool (and complete!) desktop suite from CleverCactus. Also up is
nifty online baseball game called "Head2Head". And not to be outdone
in the geek department, we have a great memory profiler from YourKit
LLC. Have fun!
Click here to
go to Swing Sightings #17
|
| Swing
Sightings No. 16 |
August
5th, 2003
Swing
Sightings has just arrived! Lots of fun apps this month: experience
- a free project management software. Also an impressive Java debugger
from Bil Lewis called the "Omniscient Debugger" which lets
you travel backwards or forwards through the app's lifetime. Also
not to be missed is Wheel 'O Yum, which solves the age old dilemma
of "what do we eat for dinner tonight?".
Click here to
go to Swing Sightings #16
|
| An Update
to the Swing Tutorial
|
May
19th, 2003
We have received many requests to publish more information on how
to use the data transfer and focus subsystems. We are happy to
announce that the Swing Tutorial has just released an update
that includes pages on data transfer and focus, as well as
updates to the SpringLayout page and many component pages.
Click here to
see a list of updates to the Swing tutorial.
|
| What's
new in 1.4.2 - A JDC
Chat with the Swing, Plugin, & JVM Teams |
| Swing
Sightings No. 15 |
April
30th, 2003
Swing Sightings #15 has finally hit the street! There's
a big variety of applications in this column, from the PitCommand
applet for viewing live NASCAR races, to a browser for the
Koran, and more than one tool for creating XHTML content
for web browsers. There's
also a new game applications for managing digital video and
another for managing animal shelters, a suite of pure AWT
apps for engineers, and a graphics system for creating paper
doll applications. You'll probably read about it all here
first!
Click here to go to Swing Sightings #15
|
| Swing
Sightings No. 14 |
February
26th, 2003
Swing
Sightings #14 is live! Lots of goodies this time around, including a "transport
management system" from TSS that schedules and tracks trucks
and warehouse deliveries - and now includes a J2ME wireless client!
Also up is a nifty HTML editor
from Sferyx. And last (but never least) some games: a bunch
of Tetris variations from 2M Games, as well as a pseudo-game/harmonica
training app (we kid you not, you've gotta see this!) that lets you blow
up asteroids
by playing the harmonica, from the Harmonica Game Company. This last one
received rave reviews from our editor's kids!
Click here to go to Swing Sightings #14
|
New
Encyclopedia Britannica using Swing! |
February
26th, 2003
The
234-year-old Encyclopedia Britannica took an important step
forward -- from Web site to CD-ROM and DVD -- using both
J2SE™ and J2EE™.
Click here to read the article!
|
| Using
Swing & The Java 2D API To Create Cool
User Interfaces |
February
7th, 2003
The
number one question that we've received in feedback to our rich client
demos at the 2002 JavaOne conference is "How
do I make my apps look like that?" This article begins to answer that
question by showing how to incorporate rich visual effects, or "eye-candy",
into your application.
Illustrated with code samples, it demonstrates the
ease of plugging into the Swing paint system, and presents some of the
many advanced rendering techniques that are possible with just a few
lines of 2D code.
Click here to read the article.
|
| Chat
with the Performance, Swing, and 2D teams, Part 2! |
| Swing
Sightings No. 13 |
December
24th , 2002
Ho Ho Ho!
Swing Sightings #13 is live, just in time for the holidays!
This edition
marks the debut of several new application categories: archaeological
specimen viewers, numerical unit converters, and coal
mine planning tools! You'll also find database viewers, financial apps,
an XML editor, and more.
Click here to go to Swing Sightings.
|
| High
Performance Frequently-Updated JTables |
| December
2nd, 2002
One common
type of application features a JTable with frequently updated data. This
style of application is often found in the financial industry, but it
can crop up in other industries as well. In this article we will explore
techniques for improving the performance of this style of application,
affectionately called "Christmas tree" applications, because
the rapid updating of their GUIs resembles blinking lights on holiday
trees.
Click here to read this article.
|
| Swing
Sightings No. 12 |
| December
2nd , 2002
Swing Sightings
#12 is up!
New Swing
Apps and tools this month include: the Alloy L&F from Incors, a dictionary
application named (surprise!) JDictionary, and very cool secure-email/chat/file-sharing
client from CryptoHeaven.
Click here to go to Swing Sightings.
|
| Your
input wanted for JavaOne 2003! |
| November
5th , 2002
Planning
for this years JavaOne is already under way. To help us make a memorable
JavaOne we need your help: we want to know what you want us to
talk about!
Confused
about the RepaintManager? Not sure about a particular feature? We want
to know!
Contact the Swing Team.
Besides the presentations that WE are planning to do at JavaOne, we (and
the whole Java community) would like to hear from YOU.
Do you have
something you would like to present? A session about your application,
development tools and processes you think are worth sharing, ways of using
JFC APIs that make your apps better, feature comparisons, whatever; share
them with the world! (or at least that portion of the world that will
be at JavaOne...)
Time is running
out though! Proposals are due by Friday 11/08/2002. However, all
you need by Friday is to submit an abstract of your presentation:
http://servlet.java.sun.com/javaone/apps/cfp/sf2003
Thanks, and
we hope to see you at JavaOne!
|
| Swing
Sightings No. 11 |
| October
18th, 2002
Swing Sightings
#11 up!
We've found
some pretty nifty apps this month, including Morpheus - a hugely
popular GNUtella client, a really nice email client called Columba, and
also a store explorer applet from Cycle23 that's used at a rather popular
website. :-)
Click here to go to Swing Sightings.
|
| High
Performance Graphics with Java2D |
| October
18th, 2002
Performance
is always an issue for graphics programs. Rendering complex shapes and
patterns on a display requires iterating through the pixels and calculating
values for each of them. Loading an image and performing a filter operation
on it sometimes requires allocating a large block of memory. When using
these complex shapes, patterns, and images in an animated application,
fast and reliable rendering can be difficult to acheive. This article
discusses improvements in Java2D rendering in Java™ 2 SDK, version
1.4 and how you can take advantage of them.
Click here
to read the article.
|
| Painting
with Fill Objects |
| September
17th, 2002
At
the 2002 JavaOne™ we showed our vision of a Rich
Client Using Web Services, in the form of a Calender Client application
that connected to the iPlanet calender service. In this article we will
share how to implement some of the cool painting effects seen in the demo.
Click here to read the
article.
|
| Using
I18N Input Methods on the JavaTM Platform |
| September
12th, 2002
Do
you know how many characters are defined in Unicode Standard 3.0 , the
supported version in the JavaTM 2 runtime environment? Would
you believe it's 49,194! However, as you may have noticed, the standard
qwerty keyboard has just over 100 keys, so if you've ever wondered how
the other 49,094 characters are input, this article will tell you everything
you want to know!
Click here to read
the article.
|
| Swing
Sightings No. 10 |
| August
16th, 2002
It's taken
us awhile, but we finally have Swing Sightings #10 up!
This month
we have lots of fun finds, including the FIFA World Cup Applet that was
featured on Yahoo, some gorgeous snaps of BEA's WebLogic WorkShop, as
well as educational software from Elluminate that's being installed on
over 1 million student desktops!
Click here to go to Swing Sightings.
|
| Chat
with the Performance, Swing, and 2D teams! |
| April
18th, 2002
The Topic:
"High-Performance GUIs with the JFC/Swing API".
When: April 23. 11:00 A.M. PDT/6:00 P.M. GMT
Where: The
Java Developer Connection
Learn how
to accelerate the performance of applications that rely heavily on JFC/Swing
graphical user interface components in this chat with Swing and Java2D
engineers Scott Violet and Chet Haase, and performance engineer Steve
Wilson.
So have your
questions ready!
|
| JCanyon
Demonstration |
| March
4th, 2001

The Grand Canyon demonstration has been updated for JDK 1.4 Beta 3 and
takes advantage of several bug fixes. Full-screen mode is now supported,
and the Java Web Start launch links now work properly on the Solaris Operating
Environment, GNU/Linux, and Windows.
The demo
illustrates the use of the new java.nio APIs in JDK 1.4 for high-bandwidth
data transfer between the Java platform and the outside world, as
applied to the 3D graphics domain. As seen at JavaOne 2001.
Click here to read the article.
|
| TableLayout
- a new layout manager |
| January
24th, 2002
In this detailed article, Daniel Barbalace introduces TableLayout, a layout
manager that partitions a container into a set of rows and columns. Includes
full source code and downloadable jar, as well as a comparisons to GridBagLayout
and GridLayout.
Click here for the full article.
|
| Long-Term
Persistence For JavaBeans: XMLEncoder and Persistence Delegates |
| January
11th, 2002
Here is the last of the articles we promised to publish on our long term
persistence project (JSR-57). As promised, this article covers advanced
use of the XMLEncoder, showing how it can be configured to create archives
of any Java objects -- even when they don't follow the JavaBeans conventions.
The article includes examples of how to make properties "transient"
and how to create archives that call constructors with arguments, use
static factory methods, and perform non-standard initialization steps.
It also covers the mysterious "owner" property (which can be
used to a link an archive to the outside world) and methods for creating
internationalized archives.
Click here to read the
article!
|
| Transcript
of the Swing team online Chat! |
|
On October 30th we had a live online chat with some of the Swing
team members. What follows is a transcription of the chat, as well as
some expansion on some of the issues that we couldn't cover in depth at
the time of the live chat.
Click here
chat log.
|
| The
Power of Regular Expressions |
| October
1st, 2001
'The
1.4 release of JavaTM 2 Standard Edition introduced a new flavor
of the JTextField component called JFormattedTextField. This new
component allows you to constrain the type of text which may be input.
Also introduced
in the 1.4 release is regular expression support. In this article you
will learn about using the power of regular expressions to constrain the
input into a JFormattedTextField.
Click here to read the article.
|
| JavaOne
Articles |
| August
22nd, 2001
This year at JavaOne there was an entire technical session track devoted
to Java client work called "Java Technology for the Desktop: Web
to PC". There were also many Java Client Birds of a Feather meetings
and, on the exhibition floor, loads of JFC applications running on everything
from big server machines to sleek iPAQ handhelds. Our own Java Client
group made about 10 presentations and, in the interest of shameless self
promotion, we've provided links to the on-line versions below.
| 595 |
Java[tm]
Platform Printing: the Java Print Service API |
| 600 |
The
Java[tm] Image I/O API |
| 1309 |
What's
New in Java[tm] Client Technology? |
| 1314 |
High
Performance Graphics |
| 1315 |
Focus
on Focus: A Tutorial on the New API |
| 1320 |
The
Complete Client for the Java[tm] Platform |
| 1339 |
Writing
High-Performance Applications with Java[tm] Foundation Classes ('JFC/Swing') |
| 2734 |
Rich
Clients for Web Services |
| 2800 |
AWT
BOF |
| 1334 |
Beans
BOF |
The
"Rich
Clients For Web Services" session was also covered by a reporter
from java.sun.com. The write-up covers some of the talk's technical content
and includes many screenshots of the calendar demo that was presented
at the end.
|
|
New TSC Feature: Swing Sightings! |
| June
25th, 2001

One of the most exciting kinds of e-mail that the Swing/JFC team receive
is a product announcement for a new JavaTM application that features a
Swing GUI. A close runner-up is the URL for a new game or a compelling
never-before-seen applet.
Over the
years we've collected many links to this information. In fact, if you
walked down the hallways here you would see the walls plastered with hundreds
of screenshots from applications developed outside of Sun.
We have decided
to launch a Swing Connection feature to share this bounty. Don't expect
a comprehensive survey; these are applications that we bumped into or
that found us. This new feature is called "Swing Sightings"
and, to kick it off, we've collected ten applications that we've happened
upon recently. These applications don't come with our special seal of
approval (we don't have one) and, although we may have tried some of them
out, we don't claim to have really tested any of them. They're here because,
based on the descriptions and the screenshots on their web sites, they
look like good examples of what is possible with Swing.
We intend to update these every few weeks, so check back often, or sign
up for the TSC Update Notification service,
where you'll receive email when we've updated The Swing Connection.
Click here to see the Swing Sightings!
|
|
Long-Term Persistence For JavaBeans Components: XML Schema |
| June
13th, 2001
The persistence scheme added in v 1.4 uses instances of the XMLEncoder
class to write out files representing JavaBeans components (beans). Every
file written by XMLEncoder uses the same XML schema, regardless of the
beans the file contains. In this document we describe this schema so that
implementations other than XMLEncoder and its corresponding reader, XMLDecoder,
can be used to write and read compatible files.
Click here to read the article.
|
|
| Update:
What's coming in Swing in Java 2 SDK, Standard Edition, v. 1.4
|
| February
5th, 2001
This version
of the "What's coming in Swing" article contains several updates
and some new details, such as information about the new Focus architecture
and the Windows look and feel update.
Java
2 SDK, Standard Edition, v. 1.4 is just around the corner, and we wanted
to give you a preview of the coming API additions and changes. Please
take a look and let us know what you think!
Click here
to read the article.
|
| Update:
Long-Term Persistence For JavaBeans Architecture Using XML! |
| January
19th, 2001

Almost
a year ago we published an article about an experimental implementation
of a reliable, long-term persistence strategy for JavaBeans. This
article brings you up to date, telling you what's happened since the first
article was published. Most notably, we've used the Java Community ProcessSM
(JCP) Program to pull together a community-wide effort to arrive at a
formal specification of the persistence mechanism for J2SE v 1.4.
Click here for the full report.
|
| What's
coming in Java 2D in JDK 2 SDK, Standard Edition,
v.1.4 |
| January
19th, 2001
Interested
in the new pipeline architecture which increases painting performance?
Read about this and other Java 2D feature enhancements and bug fixes
coming in v1.4 here.
|
| SwingWorker
Update Fixes Subtle Bug |
| Sept
25th, 2000
If any of
your programs use the SwingWorker class for implementing worker threads,
make sure they use the latest version. The third version of SwingWorker
fixes a subtle threading bug that can cause a NullPointerException.
Click here
to read the article.
|
| Parsing
HTML using the Swing Text Package |
| July
21st, 2000
This article
shows how you can use the HTML parser outside of JEditorPane. An example
is provided that shows how to use the standard HTML parser (also shipped
with HotJava) to parse a bookmarks file created by Netscape Navigator.
The bookmarks file is then displayed in an editable JTreeTable.
Click here
to read the article.
|
| Using
the Swing Action Architecture |
| June
20th, 2000
This article
discusses the Swing Action architecture and how you can use it to implement
shared behavior between two or more user interface components like menu
items and toolbar buttons. As a bonus, the article also discusses some
new features that were added to J2SE version 1.3 that show how to
implement simple mouse over messages on the Action component which send
the description of the Action to a status bar. Last, a strategy is presented
to delegate the Action.actionPerformed() method to another
class.
To demonstrate
these techniques, the article presents a simple application which uses
button graphics and text from the Java
Look and Feel Graphics Repository.
Click here
to read the article.
|
| Using
Timers in Swing Applications |
| April
13th, 2000
This article
covers how one can use the Java timer facilities in Swing applications.
The problems that timers are intended to solve are introduced in general
terms and then the javax.swing and the newer java.util timer classes are
covered in some detail. Both sets of classes provide roughly the same
functionality so the article concludes with some guidelines for deciding
which one is appropriate. And there's an example with a duck.
Click here
for the full article.
|
| Exploring
Dynamic HTML in Java 2 SDK, Standard Edition, v. 1.3 |
| April
10th, 2000
The 1.3
release of the Java 2 Platform includes new API in the Swing text
package to facilitate dynamically updating an HTML document. This article
features this new API in a TicTacToe example where the game board is implemented
as an HTML document. Of course, you can download the demo and its source
code.
Click here
for the full article.
|
| Java
look and feel Graphics Repository |
| March
28th, 2000
Here
is a collection of toolbar button graphics which have been designed specifically
for use with the Java look and feel.
These graphics conform to the Java
look and feel Design Guidelines (see the "Designing
Button Graphics" section of the "Application
Graphics" chapter). By using the attributes accompanying each
graphic, you can easily create Swing
Actions. Our hope is that these graphics will save you development
time and enhance your end users' experiences with your product.
Click
here
to see the full list of graphics and download the Zip file.
|
| Swing
API additions coming in Java 2 SDK, Standard Edition, v. 1.3 |
| February
15th, 2000
At
about the time the beta version 1.3 of Java 2 Platform, Standard
Edition was released, we published a summary of the planned 1.3 changes
for Swing on The Swing Connection. The currently available version of
1.3 is called "RC2", which stands for release candidate; this means that
it's very close to the final release. Our list of Swing changes for this
version is the same as for the beta version; however, we've reorganized
and reformatted it a little.
If you're planning on migrating your software to 1.3 and you haven't reviewed
the Swing changes yet, we encourage you to do so now. There are some new
additions to the API, such as support for input verification and new infrastructure
for creating keyboard bindings. And if your application uses internal
frames, be sure check the default visibility change at the beginning of
the internal frames section.
Click here
to see the full list.
|
| Generate
Event Listeners Dynamically Using Proxies |
January
21st, 2000
This brief
article is an update to the article Generating
Event Listeners Dynamically. Since that article was written, a new
Dynamic
Proxy API has been introduced in Java 2 Platform, Standard Edition
(J2SE) version 1.3. The new API makes it easy to create event listener
classes dynamically. In the original article this was done with a special
purpose runtime compiler.
Click here
for the full article.
|