Programming Graphical User Interfaces

 

Introduction

These pages include lecture notes for the course Programming Graphical User Interfaces (PGUI). The course belongs to the curriculum of the Department of Computer Science in the University of Tampere. The pages are under constant development.

The contents of the lecture notes are listed below. See also the "see also" for further information and course implementations.

The material includes example programs targeted to

  • Java using Swing GUI library,
  • Windows with API and MFC, and
  • Windows using .NET and C#.

See the directory of examples for detailed list of the example programs.

Comments, additions, and bug reports can be sent to
Jarkko Leponiemi
(e-mail: jarkko.leponiemi@uta.fi).

Lecture notes

Graphical User Interface
A short introduction to the concepts belonging in the domain of GUI, as we see it in this material.
Hello, World -programs
(Not so) traditional "Hello, World" -programs in several target environments.
API to OO
A demonstration on how to use object-oriented techniques in Windows API -programming
Graphics
Description of functions, objects, and methods for producing graphical output.
Event handling
Handling input events and window events. Main event loop. Events listeners in Java, WM-messages and message maps in Windows.
Model-View-Controller
The MVC (model-view-controller) -architecture. Implementation in Java, benefits.
Document-View Architecture in MFC
MVC implementation in MFC. Documents and views. Using AppWizard.
Menus commands and actions
Implementing menu commands. Using actions in Java. Defining and using resources.
Java UI Components
The Java UI components, containers and windows. User interface layouts.
Child window controls
Windows child window controls. User interface layouts. Messages and notification.
Dialog boxes
Examples of using dialog boxes in Java, MFC and .NET. Common dialog boxes.

Other examples
Example programs not included in the other material.

See also:
PGUI 2002
PGUI 2003
PGUI 2004
PGUI 2005

J2SE API documentation
Windows user interface
MFC Reference
.NET Framework