Java Swing (GUI) Programming: From Beginner to Expert
Learn how to create desktop and Internet GUI Java programs and take your Java programming to the next level.
Enroll in Course
This course teaches you how to create desktop and web-based applications using Java Swing, Java's built-in user interface toolkit. Each tutorial is fairly self-contained; but we'll also build two complete applications step by step along the way, so you can choose either to work through the whole course or to dip in and out.
Among other things we'll look at nearly all Swing widgets, we'll take a look at JDBC for database access, the graphics API, model-view-controller (MVC) architecture, serialization for saving data, the listener-event model and even basic animation.
When you finish the course, you'll be an advanced Swing developer, capable of creating complex and scalable Swing GUI applications.
Your Instructor
After working as a software developer and contractor for over 14 years for a whole bunch of companies including CSC, Proquest, SPSS and AT&T in the UK and Netherlands, I decided to work full-time as a private software trainer. I moved to the beautiful city of Budapest, where I turned Cave of Programming from just a bunch of articles into what you see today. I now live in Italy.
Course Curriculum
-
PreviewIntroduction: About the Course, Plus Some Useful Resources (6:41)
-
PreviewCreating a Basic Swing Application (7:04)
-
PreviewAdding Components: Layouts, Buttons and Text Areas (8:09)
-
PreviewResponding to Button Clicks (4:17)
-
PreviewCustom Components (7:30)
-
PreviewSimple Toolbars (6:25)
-
StartCommunication Between Components (10:36)
-
StartListeners and Events: Using Interfaces to Cleanly Separate Components (11:38)
-
StartSetting Component Sizes (5:10)
-
StartSetting Borders (3:18)
-
StartText Fields and Labels (4:04)
-
StartLaying Out Controls with GridBagLayout (16:09)
-
StartCustom Events and Form Submission (20:46)
-
StartList Boxes (10:04)
-
StartWorking With List Box Data (9:43)
-
StartCombo Boxes (12:37)
-
StartCheckboxes (9:44)
-
StartRadio Buttons (9:47)
-
StartMenus (9:57)
-
StartUsing Checkboxes in Menus (6:24)
-
StartMnemonics and Accelerators (10:15)
-
StartMessage Boxes (11:29)
-
StartOpen/Save File Dialogs (6:31)
-
StartFiltering File Choosers (7:57)
-
StartModel-View-Controller: Creating a Data Model (13:53)
-
StartModel-View-Controller: Creating a Controller (15:07)
-
StartCreating Tables (21:13)
-
StartSerialization: Saving Objects to Files (16:32)
-
StartPopup Menus (7:28)
-
StartSelecting Rows in Tables (5:10)
-
StartDeleting Rows in Tables (11:15)
-
StartDialogs (5:38)
-
StartSpinners: Specialised Controls for Entering Numbers (12:02)
-
StartPassword Fields (7:15)
-
StartSaving Program Data: Preferences (12:58)
-
StartArranging and Designing Dialogs and Forms (20:58)
-
StartJDBC: Connecting to a SQL Database (11:15)
-
StartJDBC: Retrieving Values from Databases (12:34)
-
StartJDBC: Saving to a Database (13:02)
-
StartJDBC: Updating Databases (6:11)
-
StartJDBC: Loading Data from Databases (15:25)
-
StartWiring in the Database Code: Bringing It All Together (17:24)
-
StartIntercepting the Window Closing Event (9:00)
-
StartUsing Images and Icons (9:28)
-
StartDraggable Toolbars: Using the JToolbar class (4:54)
-
StartSplit Panes: Creating Resizeable Separate Areas (7:36)
-
StartTabs: Using Tabbed Panes (3:11)
-
StartTree Views Using JTree (9:48)
-
StartTree Selection Events (4:50)
-
StartAssociating Data With Tree Nodes (8:20)
-
StartTree Node Icons (7:27)
-
StartCustom Tree Cell Renderers: Using Checkboxes in Trees (20:48)
-
StartCustom Tree Cell Editors: Editing Tree Nodes Using Checkboxes (26:06)
-
StartDetecting Tree Node Editor Changes (5:48)
-
StartA Simulated Message Server (20:59)
-
StartMultithreading in Swing: The SwingWorker class (11:48)
-
StartModal Dialogs (8:06)
-
StartProgress Bars (15:29)
-
StartDistributing Your Application: Runnable Jars (7:52)
-
StartAdding Text to Progress Bars (4:21)
-
StartCancelling SwingWorker Threads (13:33)
-
StartSetting the Cursor (2:48)
-
StartMultiple Nested Split Panes (9:36)
-
StartResponding to Tab Selections (6:15)
-
StartCustom List Renderers (13:11)
-
StartResponding to List Selections (5:55)
-
StartChanging the Font Using Logical Fonts (4:58)
-
StartLoading Font Files (8:19)
-
StartConfiguring the Database Connection (1:35)
-
StartEditable Tables (8:22)
-
StartUsing Checkboxes in Table Cells (6:44)
-
StartCustom Table Cell Renderers (10:20)
-
StartUsing Custom Editors in Table Cells (7:13)
-
StartNote about Applets (6:49)
-
StartApplets: Creating a Simple Swing Program that Runs in a Webpage (4:52)
-
StartDrawing Custom Components (9:10)
-
StartDrawing Shapes: Exploring the Graphics API (7:54)
-
StartDeploying Applets (11:49)
-
StartTimers: Using the Swing Timer Class (5:05)
-
StartBasic Animation (10:52)
-
StartSmoothing Your Animations With Double Buffering (5:59)
-
StartMouse Listeners (5:47)
-
StartHiding the Cursor (3:22)
-
StartKey Listeners (6:32)
-
StartDetecting Component Resizing (2:33)
-
StartUsing Visual Designers: The Free Window Builder Pro Plugin (17:16)
-
StartCardLayout: Switching Between Completely Different Views (5:53)
-
StartDetecting Collisions Between Shapes (5:23)
-
StartFrom Applet to Desktop (10:19)