GSAMS’ Undistinguished Lecture Series presents . . .

5/14/99


Click here to start


Table of Contents

GSAMS’ Undistinguished Lecture Series presents . . .

Lecture Topics

Object Creation

Classes and Objects

An Another Perspective

PPT Slide

PPT Slide

PPT Slide

Solution

Simple Animation

Animation: The Problem

Animation: The Flicker Problem

PPT Slide

Simple animation applet

Problem: The Flicker

Solution: Override update()

Overriding update . . .

Problem solved? No.

Eliminating Flicker

One Solution: Limited Drawing Areas

Limited updating: a limited solution

Complete Solution: Buffers

Double-Buffering

Mechanics of Double Buffering

Mechanics of Double-Buffering

Mechanics of Double-Buffering

Mechanics of Double-Buffering

Mechanics of Double-Buffering

Summary Steps

Summary Steps (Cont’d)

An example

Ball.java

Buff.java

Buff.java (cont’d)

Buff.java (cont’d)

Improved Double Buffering

Improved Buffering (cont’d) . . .

Lightweight Components

Lightweight Components--What?

Lightweight Components

Lightweight Components

Component Architecture: Peers

Problems with Component Creation: Last-Minute Peer Creation

Component Creation: Tips

Lightweight Components

Lightweights: No Mere Buzzword

Lightweights--How?

Lightweights--How?

Lightweights--How?

Lightweights--example

Lightweights--example

Lightweights--example

Lightweights--Example

Lightweights--a heavyweight for comparison purposes

PPT Slide

News Flash: Lightweights knock out Heavyweight!

JFC/Swing

Motivation

Historical Problems with AWT

Stop-gap remedies for JDK 1.1

Introducing Swing/JFC

Swing Packages

Overview of JFC/Swing Packages

Getting into the Swing

Short Examples

Short Example: Old AWT

Hello Swing, Good Bye AWT

What’s the Big Deal?

Widget Example: JButtons

Another Example

Why getContentPane()?

A JFrame Autopsy

JFrame Class View

JRootPane: The Content Pane

JRootPane: The Glass Pane

JFrame Disposal

Glass Panel Example

PPT Slide

PPT Slide

JComponent: The Generic Widget

JComponent

Design

Button Design

MVC Paradigm

MVC Relationships

MVC Paradigm, à la Swing

PPT Slide

Events & Actions

Events & Actions In Swing

Efficient Event Registration: Motivation

Motivation (cont’d)

Motivation (cont’d)

PPT Slide

Example

PPT Slide

PPT Slide

Simple Events: ChangeEvent

PPT Slide

ChangeListener: Simple Uses

More Complex Events: State Changes

Solution: PropertyChangeListener

PPT Slide

Danger

Cautionary Notes: MVC & Threads

Cautionary Note: Mixing Types

PPT Slide

PPT Slide

Trees in Swing

Trees in Swing

Hello Tree

Hello Tree (cont’d)

PPT Slide

PPT Slide

Tree Customizations

Tree Customization: Cont’d

Tree Events

Tree Events: Model Changes

Tree Events: Selection Changes

Tree Events: View Changes

Author: David Dagon

Email: dagon@cc.gatech.edu

Home Page: http://www.cc.gatech.edu/projects/gsams-java/index.html

Download presentation source

Download presentation source (zipped ~273 K)