Graphical User Interfaces

Brad Vander Zanden

Lecture Notes


Topics (Days)Assigned ReadingsJava Notes
Introduction to GUIs (1)
  1. Olsen: Chapter 1
  2. intro
  3. basics of guis
None
Essential Java (1)
  1. java versus c++
  2. java basics
  3. more advanced java stuff
  4. java exception handling
  5. java jar files
Java Tutorial
  1. Getting Started
  2. Learning the Java Language
  3. Essential Java Classes
  4. Collections (Optional)
Basics of Drawing (4)
  1. Olsen: Chapter 2
  2. Drawing Basics
  3. Shapes and Introduction to Models
  4. Java's Graphics2D object
  1. Getting Started with Swing
  2. Learning Swing with the NetBeans IDE (optional: you can skip this topic if you do not plan to use NetBeans)
  3. Making Java Windows
  4. Java Top-Level Containers
  5. JComponent Class
  6. Custom Painting in Java
  7. Java 2D Graphics
  8. sample programs
The Model View Controller (MVC) (2) Olsen: Chapter 6 None
Event Handling (3)
  1. Olsen: Chapter 3
  2. my event handling notes
  1. Java Event Listener Tutorial
  2. sample programs
Widgets (1)
  1. Olsen: Chapter 4
  2. Widgets
Java Swing
Widget Layout and Constraints (2)
  1. Olsen: Chapter 5
  2. Java Layout Managers
Java Layout Managers
Modeling Graphics as Objects (2)
  1. object modeling
  2. Example object model
none
Layout Using Spreadsheet-Style Constraints (1)
  1. constraint design
  2. constraint implementation
  3. Olsen: Chap 5--Constraints
none
Animation (2)
  1. Wikipedia's introduction to animation
  2. my condensed animation notes
  3. Swing Timers
  4. animation example
 
Dialog Design-Interactors (2)
  1. Handout-Brad A. Myers. "A New Model for Handling Input," ACM Transactions on Information Systems. vol. 8, no. 3. July, 1990. pp. 289-320
  2. interactors
None
Display Management (1)
  1. Olsen: Chapter 21
  2. display algorithms
None
Distributed Interaction (2)
  1. Olsen: Chapter 17
  2. distributed interfaces
None
2D Geometry (1)
  1. Olsen: Chapter 12
  2. 2D geometry
None
Geometric Transformations (1)
  1. Olsen: Chapter 13 through Shape transforms (stop at Viewing transforms)
  2. Transforms and Java Code
None
Interacting With Geometry Olsen: Chapter 14 None