Training Capstone Courseware

Training goals dlearning

code: CC-172 | version: v5.0

Version 5.0

This 5-day course introduces the Java programmer to the Java Foundation Classes -- a.k.a. Swing -- the Java environment's comprehensive framework for GUI development. The student will study the fundamentals of the JFC architecture and quickly move to building simple JFC frame-based applications. By the end of the course the student will be comfortable building simple or complex interfaces with the most common Swing controls and classes -- including buttons, lists, combo boxes, checkboxes and radio buttons, text controls, trees, and tables -- controlling multiple windows and dialogs, using panes to manage related interfaces, implementing popup menus, and using data transfer packages for clipboard and drag-and-drop implementations.

The first module of the course provides an introduction to the JFC architecture and standard practices. AWT concepts such as the event model and basic layout management are reviewed as necessary. The standard controls are covered, including labels, text components, buttons, listboxes, and comboboxes. Architectural patterns are emphasized, especially JFC's strict use of the Model-View-Controller paradigm. Understanding the thorough use of this pattern in JFC is critical to using the framework effectively. Event handling is treated, both handling AWT-style events, such as action events from button clicks, and handling events fired by the model that lies under a particular control.

In the second module, more sophisticated and powerful controls are studied: the tree and table controls. Each is presented in a separate chapter, allowing students to dig into the underlying architecture and to develop a firm grasp of the many powerful features lying behind the direct use of the control classes themselves. Especially, customization of the controls using renderers and editors is considered. The final chapter of this module discusses the effective use of the separate model class and object, which pattern is built into all Swing controls, to implement trees and tables that present very large data sets. This allows the student to confront problems common to enterprise-class GUI building, and to find sound solutions using techniques such as lazy evaluation and LRU eviction.

In the third and final module, advanced GUI-management features are studied. Students learn to implement and/or customize scrolling, and to use splitter panes to combine related user interfaces. Popup elements such as dialog boxes, message boxes, and menus are also considered. The module concludes with a treatment of JFC's data transfer model, which empowers clipboard copy, cut, and paste features as well as drag-and-drop. A simple application is developed over the course of this module that implements all the above features.

The course software also includes an optional overlay of workspace and project files to support use of the Eclipse IDE in the classroom. (This requires that the instructor be experienced in use of Eclipse and able to walk students through basic tasks in the IDE.)

Conspect Show list

Module 1. Introduction to JFC

  1. Chapter 1. Introduction to JFC
    • Abstract Windowing Toolkit Basics
    • Simple Layout Management
    • Simple Event Handling
    • Lightweight Controls
    • JFC Feature Set
    • JFC Architecture and Relationship to AWT
  2. Chapter 2. JFC Application Design
    • Role of a JFrame
    • Building a Frame-Based JFC Application
    • Panes
    • Using Dialogs
  3. Chapter 3. JFC Components
    • JFC Component Class Hierarchy
    • JComponent Features
    • Simple Control Types
    • Text Components
    • Menus
    • Managing Look and Feel
  4. Chapter 4. Architectural Patterns
    • Observer Pattern
    • Model-View-Controller Decomposition
    • Strategy Pattern
    • JList
    • Factory Pattern
    • JComboBox

Module 2. Trees and Tables

  1. Chapter 1. Hierarchical Data and JTree
    • Presenting Hierarchies
    • JTree and Supporting Classes
    • Using the Default Tree Model
    • Customizing Look and Feel
    • Implementing a Tree Model
    • Custom Rendering
    • Custom Editing
  2. Chapter 2. Tabular Data and JTable
    • Presenting Tabular Data
    • JTable and Supporting Classes
    • Implementing a Tree Model
    • Customizing Look and Feel
    • Custom Rendering
    • Custom Editing
  3. Chapter 3. Managing the Model
    • Adapting Existing Data Structures
    • Very Large Data Sets and GUIs
    • Caching
    • Lazy Evaluation Using Tree and Table Models
    • Limiting the Cache with an Evictor
    • Anticipating User Requests

Module 3. Advanced GUI Design

  1. Chapter 1. Organizing Application Windows
    • Viewport Abstraction
    • JScrollPane
    • Scrollable Elements
    • Customizing Scrolling
    • Tabbed Panes
    • Splitter Panes
  2. Chapter 2. Popup GUI Elements
    • Dialog Boxes
    • Message Boxes
    • Using File Choosers
    • Customizing File Choosers
    • Using Color Choosers
    • Custom Dialogs
    • Tooltips
    • Popup Menus
  3. Chapter 3. Data Transfer
    • The Data Transfer Model
    • Transferable Objects
    • Data Flavors and MIME Types
    • The Clipboard API
    • The Drag-and-Drop API
  • Appendix A. Learning Resources


Download conspect training as PDF

Additional information

Difficulty level
Duration 5 days

The participants will obtain certificates signed by Capstone Courseware.


Authorized Capstone Courseware Trainer.

Other training Capstone Courseware | Java Programming

Training thematically related



Contact form

Please fill form below to obtain more info about this training.

* Fields marked with (*) are required !!!

Information on data processing by Compendium - Centrum Edukacyjne Spółka z o.o.

1150 EUR


Discount codes

Discount code may refer to (training, producer, deadline). If you have a discount code, enter it in the appropriate field.
(green means entering the correct code | red means the code is incorrect)



Traditional training

Sessions organised at Compendium CE are usually held in our locations in Kraków and Warsaw, but also in venues designated by the client. The group participating in training meets at a specific place and specific time with a coach and actively participates in laboratory sessions.

Dlearning training

You may participate from at any place in the world. It is sufficient to have a computer (or, actually a tablet, or smartphone) connected to the Internet. Compendium CE provides each Distance Learning training participant with adequate software enabling connection to the Data Center. For more information, please visit site



Paper materials

Traditional Materials: The price includes standard materials issued in the form of paper books, printed or other, depending on the arrangements with the manufacturer.

Ctab materials

Ctab materials: the price includes ctab tablet and electronic training materials or traditional training materials and supplies provided electronically according to manufacturer's specifications (in PDF or EPUB form). The materials provided are adapted for display on ctab tablets. For more information, check out the ctab website.



No deadlines for this training.

Suggest your own appointment

Upcoming Capstone Courseware training

Training schedule
Capstone Courseware