Training

Popular Courses

Browse Our Free Resources

  • whitepapers
  • whitepapers
  • webinars
  • blogs

Our Locations

Training Centres

Vancouver, BC
Calgary, AB
Edmonton, AB
Toronto, ON
Ottawa, ON
Montreal, QC
Hunt Valley
Columbia

locations map

Calgary

550 6th Av SW
Suite 475
Calgary, AB
T2P 0S2

Toronto

439 University Av
Suite 820
Toronto, ON
M5G 1Y8

Vancouver

409 Granville St
Suite 902
Vancouver, BC
V6C 1T2

U.S. Office

436 York Road
Suite 1
Jenkintown, PA
19046

Other Locations

Dallas, TX
Miami, FL

 

Home > Training > Java, Java EE and Frameworks > Java >

WA1237 Java GUI Programming with Swing Training and Courseware

Quick Enroll

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.

Objectives
 
  • Understand the basics of the JFC architecture.
  • Build simple GUI applications using JFC.
  • Build more complex GUIs using various JFC controls.
  • Use the many hooks into the JFC architecture to easily customize rendering and editing within JFC controls.
  • Understand the significance of the MVC decomposition in using JFC controls.
  • Build GUI classes that make effective use of events as fired from model, view and controller elements of the GUI itself.
  • Implement JFC GUIs based on existing data structures, and use model implementations to adapt the JFC controls seamlessly to this data.
  • Handle very large data sets, such as remote databases, without degradation of performance or user responsiveness.
  • Implement scrolling, and customize scrolling for a particular scrollable element.
  • Manage complex user interfaces by combining GUI areas with splitter panes and tab panes.
  • Expand an application interface with popup dialogs, message boxes, and popup menus.
  • Use standard dialogs such as file choosers and color choosers.
  • Implement clipboard cut, copy and paste using the JFC data transfer model.
  • Implement drag sources and drop targets for complete drag-and-drop capabilities
Audience
  Java Programmers.
Prerequisites
  Solid experience with Java programming is required.
Duration
  Five days.

Course Outline

Module 1. Introduction to JFC

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

Chapter 2. JFC Application Design

  • Role of a JFrame
  • Building a Frame-Based JFC Application
  • Panes
  • Using Dialogs

Chapter 3. JFC Components

  • JFC Component Class Hierarchy
  • JComponent Features
  • Simple Control Types
  • Text Components
  • Menus
  • Managing Look and Feel

Chapter 4. Architectural Patterns

  • Observer Pattern
  • Model-View-Controller Decomposition
  • Strategy Pattern
  • JList
  • Factory Pattern
  • JComboBox

Module 2. Trees and Tables

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

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

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

Chapter 1. Organizing Application Windows

  • Viewport Abstraction
  • JScrollPane
  • Scrollable Elements
  • Customizing Scrolling
  • Tabbed Panes
  • Splitter Panes

Chapter 2. Popup GUI Elements

  • Dialog Boxes
  • Message Boxes
  • Using File Choosers
  • Customizing File Choosers
  • Using Color Choosers
  • Custom Dialogs
  • Tooltips
  • Popup Menus

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

We regularly offer classes in these and other cities. Atlanta, Austin, Baltimore, Calgary, Chicago, Cleveland, Dallas, Denver, Detroit, Houston, Jacksonville, Miami, Montreal, New York City, Orlando, Ottawa, Philadelphia, Phoenix, Pittsburgh, Seattle, Toronto, Vancouver, Washington DC.
Outline Course Outline

Buy on-site and customized class

Attend a public class

05/28/2012 - Calgary
$3,450.00 Enroll

06/11/2012 - Calgary
$3,450.00 Enroll

07/09/2012 - Toronto
$3,450.00 Enroll

07/09/2012 - Ottawa
$3,450.00 Enroll

07/23/2012 - Vancouver
$3,450.00 Enroll

07/30/2012 - Montreal
$3,450.00 Enroll

08/13/2012 - Calgary
$3,450.00 Enroll

08/13/2012 - Vancouver
$3,450.00 Enroll

08/20/2012 - Montreal
$3,450.00 Enroll

09/17/2012 - Ottawa
$3,450.00 Enroll

09/24/2012 - Toronto
$3,450.00 Enroll

10/01/2012 - Toronto
$3,450.00 Enroll

10/01/2012 - Vancouver
$3,450.00 Enroll

10/15/2012 - Montreal
$3,450.00 Enroll

10/29/2012 - Calgary
$3,450.00 Enroll

11/05/2012 - Ottawa
$3,450.00 Enroll

*Your name:

*Your e-mail:

*Phone:

*Company name:

Additional notes:

We have received your message. A sales representative will contact you soon.

Thank you!.