The Wmvc Thermometer Example:

Notes on Event Programming, GUIs, and the Model-View-Controller (MVC) Architecture
UML for Wmvc Framework      
Basics to build simple application:   WmvcApp.java
Different views, implements Observer interface:   WmvcView.java
Basic model/problem, extends Observable:   WmvcModel.java
General purpose swing-based GUI:   WmvcController.java
Support:   WmvcExecutor.java
Menu Control:   WmvcMenuItemCtl.java
Button Control:   WmvcTBButtonCtl.java


UML for Thermometer App
The application (has main):   Thermometer.java
Top level view/controller for the Thermometer:   MainView.java
Different thermometer views (fahrenheit, celsius):   TemperatureView.java
Actually has the temperature, "theTemp":   ThermometerModel.java

The Wmvc Movie Catalog (MovieCat) Example:

The Wmvc Framework is the same as the Thermometer app.
From the Wmvc Thermometer example you will need all the Wmvc files:
WmvcApp.java, WmvcView.java, WmvcModel.java,
WmvcController.java, WmvcExecutor.java,
WmvcMenuItemCtl.java, WmvcTBButtonCtl.java


UML for MovieCat App
The application (has main):   MovieCat.java
Top level view/controller for the MovieCat app:   MainView.java
View of the movie list:   MovieListView.java
View of a single item, the current movie:   MovieItemView.java
Implements the movie model and handles changes:   MovieModel.java
Defines and manipulates a Movie object (actual movie):   Movie.java
Edits a Movie object:   MovieEditor.java
Helper classes:
MovieEvaluation.java
MovieFormat.java
MovieGenre.java
MovieRating.java

Proxy Design Pattern Car Example:

Description and UML
The application (has main):   CarProxyApp.java
Illustrates the proxy pattern:   CarProxy.java
Panel that contains images:   CarProxyPanel.java
Contains buttons:   ControlPanel.java
Allows Images to be included:   Image.java
Image subclass with the capability of moving right and left:   Car.java
Controls the motion of a Mover object:   MoveTimer.java
Controls the speed of some Accelerator object:   SpeedButton.java
The standard Quit button:   QuitButton.java
Extends Java's Rectangle2D and draw itself on a panel:   SmartRectangle.java
Interfaces
Accelerator Interface:   Accelerator.java
Mover Interface:   Mover.java
Images
redCar:   redCar.jpg
car2:   car2.jpg

Reading examples:

Reading from a file: ReadFile.java
Reading from a file using classes and arrays: ReadFile2.java
Reading from the keyboard: ReadKeyboard.java

Pass by value vs. pass by reference: Reference.java with output: output

Shows the order of initializing, new Init: Init.java     new Init2: Init2.java

The parent, SuperInit: SuperInit.java , sample output: sample output

Demonstrate Exception handling: Except.java with output: output

Fruit examples (inheritance):

Simple example, an array of Fruit: MyFruit.java
Much better Fruit: FruitBetter.java with output: output
Clone Fruit List: FruitCopy.java with output: output

Applet example:

Using JApplet, java code: WinApplet.java and the html file: WinApplet.html
Using Applet, old way, java code: SimpleTree.java and the html file: SimpleTree.html

All the GUI examples:

The window handler, needed everywhere except WinBlank and WinImage1: WinHandler.java
Make Blank Window: WinBlank.java
(to run:   java   WinBlank)
Puts all in one canvas (OLD WAY using awt): WinImage1.java
(to run:   java   WinImage1   file.gif)
Separates out WinHandler for reusability (OLD WAY using awt): WinImage2.java
(to run:   java   WinImage2   file.gif)
Demonstrates problem with swing images, waits before displaying: WinImage3.java
(to run:   java   WinImage3   file.gif)
Fixes problem of WinImage3 using MediaTracker: WinImage4.java
(to run:   java   WinImage4   file.gif)
Fixes WinImage3 problem also, using specialized problem, handles simpler icon, not image: WinImage5.java
(to run:   java   WinImage5   file.gif)
Bunch of GUI stuff, e.g. buttons, menus, checkboxes: WinMenus.java and MyFrame.java
(to run:   java   WinMenus)
Allows you to display text, can scroll, but not save changes: WinEdit.java
(to run:   java   WinEdit   file.txt)
Combines WinImage5 and WinEdit in two tabs, image one tab, text other tab: WinTabbed.java
(to run:   java   WinTabbed   file1.gif   file2.txt)
Display several images in the same window (hardcoded in main; these are fruits, but any will do): FruitImages.java
Overlay two images, first each image is shown separately, then the smaller image is displayed on top: OverlayImages.java

Roulette Table Example:

File containing main:   Roulette.java
File containing the table GUI:   RouletteGui.java
Encapsulates position for Absolute positioning of components:   AbsoluteConstraints.java
Allow placement of components in absolute positions:   AbsoluteLayout.java
The GIF files used in the application:  
five.gif
rouletteTableFinal.gif
clearChip.gif