- Java GUI Programming with Swing/JFC

[ Home | Whats New | Recommended Books | Search | Subscribe ]
[ TP | DB | Java | JavaBeans | C++ | Design-Pattern | CORBA | Server | Script | SCM | Dev-Mags | Net-News | WebDev | Net | XML ]

Get the FREE SwTech e-mail newsletter :
Support this site by buying one of our Recommended Books

Search the SwTech.com site:   

Java : Java GUI Programming with Swing/JFC

See Also:
^Java AWT and GUI Programming
>Custom Java GUI Components
>Java Drag and Drop
>JDK v1.2

* The JavaSoft AWT Home Page
Something from JavaSoft on how to use the AWT, migrating from the 1.02 AWT to the 1.1 AWT, and the future plans such as JFC (Java Foundation Classes) and Swing (lightweight AWT components with a pluggable look and feel).
* Java Foundation Classes Home Page
Home page for the forthcoming JFC - a superset of the AWT to provide a robust infrastructure for creating commercial quality intranet and Internet applets and applications. Includes the Swing widget set.
* Java Foundation Classes - Now and the Future
A whitepaper from June 1997 outlining Sun's plans to improve the application infrastructure present in the core Java API libraries by developing and adapting the Java Foundation Classes. A sort of AWT++ !
* The Swing Connection
Sun's Swing Collection online magazine, containing detailed technical articles on using the Swing classes, how the Swing libraries work, etc. Given that this is from Sun team that developed the Swing classes, it obviously provides some of the most accurate information about Swing available on-line.
* The Swing Connection Archive
An archive of past articles from Sun's Swing Collection online magazine.
* The Swing Connection Index
An index of past articles from Sun's Swing Collection online magazine.
What's the difference between this and "The Swing Connection Archive" above, you may well ask? - This one is more directly useable, IMHO!
* Swing list Archive at EOS
An archive of the Swing mailing list maintained by Eastfork Object Space in Denmark.
* JFC vs. AFC
An interesting (and nearly unbiased!) comparison from JavaWorld between Sun's JFC (Swing) and Microsoft's AFC GUI toolkits.
To paraphrase the conclusion, it boils down to 'AFC written by Programmers for Programmers' and 'JFC written by Computer Scientists for Systems Architects'
* Mixing Heavyweight and Lightweight Components
A discussion of some of the problems encountered when using heavyweight and lightweight components, with particular reference to the JFC/Swing situation.
* Threads and Swing
A discussion of the single-thread nature of the the JFC/Swing GUI toolkit, and the implications for programs using Swing widgets. Discusses a SwingWorker class and invokeLater Thread method to ensure code is run in the event-dispatching thread.
* Understanding Borders in Swing
Describes the Border facilities in the JFC/Swing toolkit, including how to use the standard Borders or write your own custom border type.
* Introduction to Swing
An introductory presentation from the Atlanta Java Users Group on the facilities in Swing 1.0
* Workarounds for Swing Bugs
* Understanding Containers in Swing
Tells you everything you need to know about content panes and JRootPanes, and shows you how to add components properly to Swing containers.
* Using a Swing Worker Thread
A follow up to the "Threads and Swing article". This article describes an approach for spinning off a worker thread to perform user-initiated operations that are time-consuming or can block, without violating Swing's single-threaded update rule.
* Add an undo/redo function to your Java apps with Swing
Find out how the Swing GUI component set utilizes the Command pattern for easy support of undo/redo.
* Focus Management with Swing
A JavaWorld article about the different techniques for managing focus traversal in Swing with the extensible focus manager for Swing components.
* "Banking on Swing"
A hands-on description of how a German software house migrated their application from using the AWT to using the Swing toolkit.
* The Multiplexing Look and Feel
Swing's multiplexing look and feel is a special L&F that provides an easy way to extend the capabilities of a user interface created in Swing without having to create a complete new look and feel from scratch.
* Swing package name proposal
Sun's proposal for the package name to be applied to the Swing libraries to maintain compatibility between Java 1.1 and 1.2.
* Creating TreeTables in Swing
An article shows how you can combine a JTable and a JTree into a TreeTable -- a double-duty component that can expand and contract rows, as well as show multiple columns of data. The secret is to create a JTree that uses a JTable as a cell renderer!
* Understanding the TreeModel
An article focusing on the relationship between JTree and the TreeModel interface, and how an object that implements the TreeModel interface should manipulate the structure of the data in the model.
* The LookAndFeel Class Reference
A PLAF Lookup Guide for Swing Probrammers.
This document is a technical reference for the LookAndFeel class. It lays out the intended use of various portions of the LookAndFeel class, but it is not a tutorial on how to write your own Look and Feel.
* Swing gets a new Mac Look & Feel
The new Beta release of Swing 1.1 contains a Mac Look & Feel. It is designed to work only on Macintosh computers, in the same way that Swing's Windows L&F is intended to work only on computers running Windows.
* The JTree Component: Representing Data With Lively and Informative
A basic introduction to the JTree class in Swing, starting with a simple example showing how to build up the TreeModel.
Finishes with a handy little debugging tool to display the Component structure of a GUI display shown as a hierarchy of Swing objects displayed in the JTree.
* How to Use Text Fields in Swing
The section of Sun's Java tutorial dealing with Swing text fields, and in particular showing how to create a Validated Field for limiting input to a desired format, e.g. a date, a decimal number, or a phone number.
* The Swing/JFC FAQ
What seems to be the "official" (ie. recommended by Sun) Swing Frequently Asked Questions list, now maintained by Stephen Drye and regularly posted in comp.lang.java.gui and comp.lang.java.programmer newsgroups.
* How to Use JTables
The section of Sun's Java / Swing tutorial looking at JTables.
* Swing Sample Notes
Some introductory notes and examples for a Swing programming tutorial by Steven Lewis, along with a number of samples of the example Swing controls developed.
* The JLF High-Level Specification
This page presents the high-level (semi-official) specification for the Java Look & Feel (code name "Metal") in the Swing toolkit classes..
* "JTable is DB-aware"
Showing how the Swing component set (especially JTable) is database-ready, and walks through how to implement data-binding to a JDBC data source.
* Write high-performance RMI servers and Swing clients
Learn how to supercharge your RMI servers by reducing the use of thread synchronization and implementing asynchronous callbacks via a configurable thread pool. JavaWorld's Enterprise Java columnist Andy Krumel also demonstrates how to implement an efficient asynchronous logging facility and how to handle RMI callbacks to a Swing-based client application.
* Bluestone XwingML
XwingML (pronounced zwing-M-L) enables users to build XML documents that define the complete Java Swing Graphical User Interface. XwingML comes with a standard DTD that defines the entire Swing/JFC set of classes and properties as well as providing support for all Swing/JFC Listeners. Complete with sample templates for a wide variety of GUI interfaces (menus, frames, and dialogs), users simply author XML documents and XwingML reads and dynamically creates the Java GUI.
Sound very promising, and likely to be followed by a number of similar products from other companies.
* Generating Event Listeners Dynamically
ActionListeners are used to add behavior to nearly all of the Swing GUI controls -- and the anonymous classes that JavaBeans architecture components use to implement event listeners have been accused of consuming more class file space than they should. This Swing Connection article offers some suggestions that will come in handy for developers of IDEs and other kinds of applications that generate listeners for Swing or AWT.
* Jazz It Up: A 5-Step Plan
With built-in features such as transparency and alpha blending, JLayeredPane has everything it takes to make the most trivial interfaces look like somwthing out of Star Trek! In this Swing Connection Tips and Tricks column, developer and author Matt Robinson uses copious source-code examples to show how you too can create eye-catching Swing components!
* A Console for Output Streams
This Swing Connection article shows how to build a Swing-based text console window that can display output streams from both Applications and Applets. The article comes with a sample application that actually creates a console window, along with all the downloadable source code you need to compile and run the program.
* Advanced JList Programming - Part 1
JList is one of the most useful components in the Swing toolkit. With the help of some interesting examples, this article shows how to use the JList class and how to optimize JList performance.
* Press Escape to close your Swing dialog windows
A JavaWorld Tip on how to intercept Escape-key events to close dialog windows for your JFC/Swing dialog windows.
* Concurrency in Swing Text
Concurrency in GUIs has often been a subject of controversy. Swing, while not entirely thread-safe, offers some support for concurrency in key areas. This Swing Connection article by JFC/Swing text package author Timothy Prinzing examines the support of concurrency provided by the text package, and then shows how to perform text layout asynchronous to the GUI event thread in an interactive display.
* Swing Mailing List FAQ
A set of questions frequently asked on the Swing mailing list.

DevLynx - Developer Links

Add your own Developer Links:

You can now suggest your own DevLynx to include on this page.
Search the Software Technologies site:   

Home Copyright © 1996-2006 Software Technologies Ltd.
All rights reserved. All trademarks acknowledged. E & O E.
Privacy Policy.
Designed for
Microsoft Internet Explorer
Designed for
Netscape Navigator
webmaster@SwTech.com http://www.SwTech.com/java/swing/