Java Graphical User Interface (GUI)
Interface Components & Widget Toolkits.
-
Abstract Window Toolkit (AWT)
The Abstract Window Toolkit (AWT) supports Graphical User Interface (GUI) programming in Java SE. AWT features include a set of native user interface components, a event-handling model, graphics and imaging primitives including shape, color, and font classes, layout managers for flexible and multi-resolution window layouts, data transfer classes for cut-and-paste (native platform clipboard). The Swing classes are built on top of the AWT architecture.
AWT API Guide JDK 5.0. -
JGoodies - Java User Interface Design
JGoodies focuses on Java look, UI design and usability, providing articles, libraries, example applications, desktop patterns and a Swing application architecture product. By Karsten Lentzsch.
JGoodies java.net project - Free libraries as open source projects (BSD Licence):- JGoodies Looks: High-Fidelity Windows and Multi-Platform Look&feels, to improve the appearance of your applications and applets. looks java.net project.
- JGoodies Forms: Advanced Swing Layout System, helps you build elegant and consistent panels efficiently. forms java.net project.
- JGoodies Animation: Time-based real-time animations framework in Java, to guide the user's attention. animation java.net project.
- JGoodies Binding: Swing Data Binding Framework.
- JGoodies Validation: Validate and Present Validation Results.
Commercial product: Swing Suite. -
Training and Tutorials: Graphical User Interfaces (GUI) and Printing
These tutorials and short courses cover everything you need to know for working with the Abstract Window Toolkit (AWT) and Java Foundation Classes (JFC) Swing APIs.
Effective Layout Management, Fundamentals of JFC/Swing, AWT Fundamentals, Building a GUI Application.
From Sun Developer Network, Online Courses. - DevX Java Zone - Tips
Java GUI Tips by Richard G. Baldwin: Creating Radio Buttons Using Swing × Creating Radio Buttons Using the AWT. -
The TableLayout Project
TableLayout is a layout manager that provides all the power of GridBagLayout, but is simple and easy to use. TableLayout simplies the creation of graphical user interfaces by providing an intuitive and powerful way to specify where components are placed and how they are resized. TableLayout makes it easy to write professional user interfaces quickly and easily. TableLayout is a free layout manager. You may use it in any commercial or non-commercial project, with royalties or license fees.
Project Swing & Java Foundation Classes (JFC)
-
Desktop Java: Java Foundation Classes (JFC/Swing)
The Java Foundation Classes (JFC) are a set of Java class libraries provided as part of Java 2 Platform, Standard Edition (J2SE) to support building graphics user interface (GUI) and graphics functionality for client applications that will run on popular platforms such as Microsoft Windows, Linux, and MacOS X. -
Project Swing - Java Foundation Classes (JFC)
Project Swing is the part of the Java Foundation Classes (JFC) software that implements a set of GUI components with a pluggable look and feel. Swing API Guide JDK 5.0. -
The Swing Tutorial
The Java Tutorial On-line, Trail: Creating a GUI with JFC/Swing.
A Visual Index to the Swing Components, Using HTML in Swing Components, Using Top-Level Containers, Using Models, The JComponent Class, Using Text Components, Text Component Features, The Text Component API, How-to's.
Other GUI Toolkits
-
Thinlet
Thinlet is a lightweight GUI toolkit for Java. In a single Java class, it parses the hierarchy and properties of the GUI, handles user interaction, and calls business logic. Thinlet separates the graphic presentation (described in an XML file) and the application methods (written as Java code). It's LGPL licensed and runs with Java™ 1.1 (old browsers' default JVM) and superior. Swing isn't required.
Thinlet SourceForge project.-
ThinG - a GUI Editor for Thinlet
ThinG is a XML UI Language (XUL) GUI Editor for Thinlet. ThinG has been written by Dirk Möbius in (almost) seven days, on JDK 1.4; ThinG also requires J2SE 1.4 (JRE/JDK) or higher to run. The license is GPL. Of course, it is written using Thinlet itself. -
xthinlet: ScriptableThinlet and ObjectWrapperThinlet
xthinlet is a set of LGPL extension packages for the thinlet library, a light XUL (XML UI Language) for java. xthinlet include: the Object Wrapper Thinlet extension, which allow you to build UI thinlet in a more Object Oriented way; the ScriptableThinlet extension, which allow you to wrote your action in script language, directly inside the XUL file, supporting BeanShell, JavaScript, Groovy, Jython.
-
ThinG - a GUI Editor for Thinlet
-
SWT - Standard Widget Toolkit
A lightweight multi-platform native widget toolkit, open source software by Eclipse Project.
SWT FAQ.
SWT: The Standard Widget Toolkit. PART 1: Implementation Strategy for Java™ Natives. The first in a series of articles about the design ideas behind SWT. By Steve Northover, OTI, March 2001.
SWT Component Development Resources. -
Java Curses Library
The Java Curses Library (JCurses) is a Java library, that makes it possible to write text terminal based application using Java programming language. For this purpose an windowing toolkit is implemented, that, like a text based AWT class library.
Javacurses is an open-source SourceForge Project, distributed under GNU Library license or Lesser General Public License (LGPL).
GUI Editors
-
FormLayoutMaker
An easier way to build JGoodies Java forms. FormLayoutMaker will work in conjunction with any development environment, from NetBeans and Eclipse to VI and Emacs. And for the best part, it's completely free and open source. -
JFormDesigner - Java/Swing GUI designer
JFormDesigner is an innovative multi-platform WYSIWYG GUI designer for Java Swing user interfaces. -
WindowBuilder Pro
SWT and Swing Development for Eclipse.
3D
-
Java 3D
This is the parent project for all Java 3D-related sub-projects on java.net. These sub-projects include: j3d-core (the core Java 3D API, javax.media.j3d package), vecmath (the 3D vector math package javax.vecmath), and j3d-core-utils (the Java 3D core utilities, com.sun.j3d.* packages), among others.