J304 : Advanced GUI Programming Using Swing – Hands On

The best way to create sophisticated graphical user interfaces in Java is with the Swing class library. This complex library provides a wealth of features that allow you to create a very sophisticated user interface, while providing a solid object oriented base from which to build complex user interface components. To really take advantage of Swing, you must be able to do much more than what your GUI builder provides. This course begins with the basics of Swing and how to use your GUI builder to build simple panels. It then gets into the more complicated aspects of Swing development, such as the proper separation of business logic from GUI (MVC architecture), custom renders/editors and advanced GUI OO techniques. At the end of this course, you will be able to create high function, highly interactive Swing GUIs for stand alone applications and web applets.

Prerequisites: This course is very intense. It builds on an existing understanding of the Java language. Students must have completed one of our Introduction to Java Programming courses or have equivalent knowledge.

Duration: 5 Days

Introduction

Java Review

JComponent

Listeners

Component

Events

Container

Validation, invalidation, revalidate

Painting

PropertyChangeListener

VetoableChangeListener

Drawing

Layout Managers

FlowLayout

BorderLayout

GridLayout

CardLayout

BoxLayout

BoxAlignment

Glue and Struts

Rigid Areas

GridBagLayout

GUI Builders

GridBagConstraint

GridX/gridY

Padding

Insets

Anchor

Weight and fill

Weight

Tricks and Techniques

Icons and Images

Icon interface

ImageIcon

Toolkit

ImageObservers

Image

Image Processing

Using Filters

BufferedImage

Menus, Toolbars and Actions

Creating a Menu

Iconic Menus

Text Alignment

Popup Menus

Actions

Client Properties

Action Interface

ActionListener

AbstactAction

ActionPerformed

ICON and NAME properties

Menu bars everywhere

Toolbars

Tool tips

Action inner classes

Actions and JButton

Containers

Glass Pane

JLayeredPane

JWindow

Splash Page

JDesktopPane

JInternalFrame

InternalFrameListener

JInternalFrame closing

Splitter Panes

Tabbed Panes

JScrollPane

Scrollable Interface

Borders

BorderFactory

BevelBorder

SoftBevelBorder

EmptyBorder

EtchedBorder

LineBorder

MatteBorder

TitledBorder

CompoundBorder

BorderFactory

Border Interface

Custom Borders

AbstractBorder

Undo/Redo

Memento

Undo Mechanism

StateEditable

RestoreState

UndoManager Optimization

Significant Edit

CompoundEdit

Dialogs

Modeless Model

JOptionPane

Properties

OptionType

Complex Input

Icons

Miscellaneous

Look and Feels

Choosers

JFileChooser

FileFilter

FileViews

File Previewer/Accessory

JColourChooser

JColourChooser as a Component

Simple Components With Models

Model/View/Controller

Buttons and Models

ItemSelectable

ButtonModel

DefaultButtonModel

ItemEvent

ToggleButtonModel

Several Controls on the Same Model

Mnemonics

LabelFor property

Bounded Range Controls

BoundedRangeModel

DefaultBoundedRangeModel

JScrollBar

JSlider

List Box and Combo Boxes

ListModel

ListDataListener

ListDataEvent

DefaultListModel

Custom Renderer

ListCellRenderer

ColourListCellRenderer

CheckBoxRenderer

ComboBoxModel

Custom Editor

ComboBoxEditor

Each one of our high content courses is custom created to ensure that students receive as much real world knowledge as possible. Our expert instructors develop all our course materials in-house. We literally “wrote the book” on programmer training.