About the course
Our Java Swing training course focuses on the essential skills required to work with and maintain desktop graphical user interface (GUI) applications built using the Java Swing toolkit. Swing is a mature and comprehensive library that has been widely used in the development of many existing Java desktop applications.
The course provides a thorough grounding in the core concepts of Swing, including understanding containers, components, and various layout managers used to arrange UI elements. You will learn how to work effectively with standard controls such as tables, trees, and lists, and gain practical experience in displaying and interacting with data using these components.
We explore advanced techniques crucial for supporting existing Swing codebases, including defining custom models to manage data, and implementing custom renderers and editors to control the visual appearance and user interaction with components like tables and trees. The course also covers important features such as handling events, incorporating drag-and-drop functionality, addressing aspects of globalisation and accessibility, and integrating with the desktop environment.
This training is designed to equip Java developers with the detailed knowledge and practical expertise necessary to confidently maintain, troubleshoot, and enhance applications built using the Java Swing toolkit.
Instructor-led online and in-house face-to-face options are available - as part of a wider customised training programme, or as a standalone workshop, on-site at your offices or at one of many flexible meeting spaces in the UK and around the World.
-
- Understand the fundamental architecture and principles of the Java Swing toolkit.
- Work effectively with Swing containers, components, and layout managers to navigate and modify existing UIs.
- Utilise and configure standard Swing controls, including tables, trees, and lists.
- Implement and troubleshoot event handling and user interactions within Swing applications.
- Define and apply custom models, renderers, and editors for advanced control over Swing components.
- Recognise and work with implementations of features like drag-and-drop, globalisation, and accessibility in Swing codebases.
- Effectively debug and troubleshoot issues in existing Swing applications.
-
This course is designed for Java Developers who are working on, or will be working on, existing desktop applications built using the Java Swing toolkit. It is particularly suitable for:
Developers joining projects that maintain established Swing codebases.
Development teams responsible for the ongoing support and enhancement of legacy Swing applications.
Java developers needing to quickly understand Swing fundamentals for debugging and making modifications to existing GUIs.
-
Participants should have attended our Java training course or have an equivalent solid working knowledge of Java SE. This includes:
Proficiency in Java language syntax and core APIs.
A good understanding of Object-Oriented Programming (OOP) principles.
Experience with compiling and running Java applications.
No prior experience with Java Swing development is required.
-
This Java Swing course is available for private / custom delivery for your team - as an in-house face-to-face workshop at your location of choice, or as online instructor-led training via MS Teams (or your own preferred platform).
Get in touch to find out how we can deliver tailored training which focuses on your project requirements and learning goals.
-
Getting Started with Swing
Introduction to SwingSwing example application
Containers and Components
Overview of panes and components
Using panes in a UI
Adding components to panes
Layouts and Dialogs
Overview of layout managers
Using layout managers effectively
Displaying dialog boxes
Tables and Trees
Overview of JTable
Configuring and using JTable
Overview of JTree
Populating a JTree
Handling events and inserting/removing nodes
Defining Custom Models
Recap of MVC concepts
Defining a custom table model
Defining a custom tree model
Defining Custom Renderers and Editors
Overview of renderers and editors
Defining a custom cell renderer
Defining a custom cell editor
Globalization and Localization
Internationalization fundamentals
List resource bundles
Component orientation
Accessibility
Overview of accessibility
Accessibility guidelines
Defining actions and key bindings
Drag and Drop and Data Transfer
Overview of data transfer
Adding data transfer support to components
Extending D'n'D support
Additional techniques
Integrating with the Desktop and the System Tray
Integrating with the desktop
Accessing the system tray
-
Official Java Documentation for Swing API - Navigate to the javax.swing package within your Java version's API docs, e.g., https://docs.oracle.com/en/java/javase/21/docs/api/java.desktop/javax/swing/package-summary.html
Oracle Java Tutorials: Creating a GUI With JFC/Swing - https://docs.oracle.com/javase/tutorial/uiswing/
Get the latest OpenJDK - https://openjdk.org/install/
Get the Oracle Java JDK - https://www.oracle.com/java/technologies/downloads/
Popular Java IDE (IntelliJ IDEA) - https://www.jetbrains.com/idea/
Popular Development Environment (Eclipse IDE) - https://www.eclipse.org/downloads/
Trusted by