This website is intended to be a collection of programming tutorials and projects. The first major project will be writing a Java program to display graphs on the Cartesian plane. Before beginning that project, we’ll introduce graphics programming in Java and give you a set of tools for quickly displaying a window that you can draw on.
Lessons
- Java Graphics Bootstrap
- Java Graphics Tools
- Java Color Primer
- Cartesian Plane Lesson 1: Starting the Project
- Cartesian Plane Lesson 2: Drawing the Grid Lines
- Cartesian Plane Lesson 3: Encapsulation
- Cartesian Plane Lesson 4: Tic Marks, Labels
- Cartesian Plane Lesson 5: Documentation
- Cartesian Plane Lesson 6: Testing (Page 1)
- Cartesian Plane Lesson 6: Testing (Page 2)
- Cartesian Plane Lesson 7: Property Management
- Cartesian Plane Lesson 7: Property Management (Page 1)
- Cartesian Plane Lesson 7: Property Management (Page 2)
- Cartesian Plane Lesson 7 Page 3, Digression: Interprocess Communication
- Cartesian Plane Lesson 7 Page 4: Testing the PropertyManager
- Cartesian Plane Lesson 7 Page 5: Remaining Tests for the PropertyManager
- Java Anonymous Class Primer; Lambdas, Functional Interfaces, Streaming
- Cartesian Plane Lesson 8: Streaming
- Cartesian Plane Lesson 9: User Input, Design
- Cartesian Plane Lesson 10: User Input, Implementation (Page 1)
- Cartesian Plane Lesson 10: User Input, Implementation (Page 2)
- Cartesian Plane Lesson 11: User Input, Testing (Page 1)
- Cartesian Plane Lesson 11: User Input, Testing (Page 2)
- Cartesian Plane Lesson 12: GUI Beginnings
- Cartesian Plane Lesson 13: More Extensions
- Cartesian Plane Lesson 14: Decomposing a GUI
- Page 1: GUI Analysis
- Page 2: GUI Testing: ComponentFinder JUnit Test
- Page 3: GUI Testing: Revised JUnit Tests
- Cartesian Plane Lesson 15: Introduction to GUI Development
- Cartesian Plane Lesson 16: GUI Development and Custom Components
- Page 1: Cartesian Plane Configuration GUI, Introduction
- Page 2: Radio Buttons and Button Groups
- Page 3: Menus
- Page 4: Custom Controls
- Page 5 Custom Controls, Testing: Analysis
- Page 6: Custom Controls, Testing
- Page 7: Beginning the Line Properties Panel GUI, the LinePropertySet Class
- Page 8: Constructing the LinePropertiesPanel
- Page 9: Completing the LinePropertiesPanel
- Page 10: Testing the Line Properties Panel GUI, LPPTestDialog Utility
- Page 11: Testing the Line Properties Panel GUI, Functional Testing
- Page 12: Testing the Line Properties Panel GUI, Visual Testing
- Page 13: Developing the Graph Properties Panel GUI
- Page 14: Class MessagePane
- Page 15: The About Dialog
- Page 16: The Application Menu Bar
- Cartesian Plane Lesson 17: Data Organization
- Page 1: Data Organization, Introduction
- Page 2: Refactoring
- Page 3: Modifications to the Data Model; New Global Properties
- Page 4: Formatting and Validating Data; JFormattedTextField
- Page 5: Monitoring Keyboard Events: PIListener
- Page 6: Data Organization; the PlotPanel GUI
- Page 7: JUnit Test Utilities for JFormattedTextFields
- Page 8: Data Organization, PlotPanel JUnit Test
- Page 9: Data Organization, GUI, ParameterPanel
- Page 10: Data Organization, ParameterPanel JUnit Test
- Page 11: Formatting and Validating Data, the JTable Component
- Page 12: Data Organization, GUI, VariablePanel
- Page 13: Data Organization, VariablePanel JUnit Test
- Page 14: Data Organization, GUI, NamePanel
- Page 15: Data Organization, GUI, CPFrame
- Page 16: Completing the Application Menubar
- Page 17: Testing the Application Menubar (Draft)
- Cartesian Plane Lesson 18: A Final Look at Properties
- Cartesian Plane Lesson 18 Page 1: A Final Look at Properties (Draft)
- Cartesian Plane Lesson 18 Page 2: Refactoring
- Cartesian Plane Lesson 18 Page 3: Profiles
- Cartesian Plane Lesson 18 Page 4: ProfileParser
- Cartesian Plane Lesson 18 Page 5: ProfileParser JUnit Test
- Cartesian Plane Lesson 18 Page 6: ProfileFileManager
- Cartesian Plane Lesson 18 Page 7: ProfileFileManager JUnitTest
- Cartesian Plane Lesson 18 Page 8: GraphManager, ProfileEditorFeedback Window
- Cartesian Plane Lesson 18 Page 9: Optical Character Recognition
- Cartesian Plane Lesson 18 Page 10: The LineSegment Class
- Cartesian Plane Lesson 18 Page 11: GraphManager JUnit Tests
- Cartesian Plane Lesson 18 Page 12: ProfileEditorFeedback JUnit Test
- Cartesian Plane Lesson 18 Page 13: The FontEditorDialog Class
- Cartesian Plane Lesson 18 Page 14: The FontEditorDialog JUnit Test
- Cartesian Plane Lesson 18 Page 15: Profile Editor
- Cartesian Plane Lesson 18 Page 16: ProfileEditorTestBase
- Cartesian Plane Lesson 18 Page 17: ProfileEditor JUnit Tests
- Cartesian Plane Lesson 18 Page 18: The ProfileEditorDialog
- Cartesian Plane Lesson 18 Page 19: ProfileEditorDialog Test GUI
- Cartesian Plane Lesson 18 Page 20: ProfileEditorDialog JUnit Test
- Cartesian Plane Lesson 18 Page 21: Completing the Application Menubar
- The Cartesian Plane Project: Afterward (Draft)