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.5)
  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
Writing the Model (0.5) Olsen: Chapter 6 None
Event Handling (3) Olsen: Chapter 3
  1. Java Event Listener Tutorial
  2. sample programs
Widgets (1)
  1. Olsen: Chapter 4
  2. Widgets
Java Swing
Widget Layout (2)
  1. Olsen: Chapter 5
  2. Java Layout Managers
Java Layout Managers
Modeling Graphics as Objects
  1. object modeling
  2. Example object model
none
Animation
  1. Wikipedia's introduction to animation
  2. my condensed animation notes
  3. Swing Timers
  4. animation example
 
Dialog Design-Interactors
  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 display algorithms None
Distributed Interaction Olsen: Chapter 17 distributed interfaces
2D Geometry Olsen: Chapter 12 2D geometry
Geometric Transformations Olsen: Chapter 13 through Shape transforms (stop at Viewing transforms) Transforms and Java Code
Interacting with Geometry Olsen: Chapter 14 None
Cut/Paste Olsen: Chapter 15 To be posted
Undo Olsen: Chapter 16 None
Using Constraints for Object Layout Olsen: Chapter 5 None