Core Swing: Developing Java GUIs Using Swing |
In this practical 3-day Swing course, you will learn to develop desktop applications using Swing under Java 1.6. You will learn how to design and write form-based GUI applications using standard Swing components and, off course, how to use the Model-View-Controller approach to build your Swing-based applications. You will also learn how to use interface components and component layout managers provided by Swing and discuss important best practices for user interface design. |
Who Can Benefit |
This course is for an experienced Java programmer who wants to learn how to use Swing and Model View Controller for your Java Desktop GUI development. |
Prerequisites |
To benefit from this Swing course, you need to attend one of Sun's Java programming courses or have equivalent experience before attending this Swing course. |
Skills Gained |
Upon successful completion of the course, the student should be able to:
- Recognize good user interface design principles
- Use Swing's GUI components and Component Layout Managers
- Write GUI's for form-based applications using standard Swing components
- Understand how develop your GUIs using Model View Controller
- Write Unit Tests for your Swing-based GUIs
|
Course Content |
Module 1 – Introduction (2 hour)
- Why Swing?
- AWT, SWT & Swing Comparison
- Why Model–View–Controller?
- Pluggable Look-and-Feels
- Applets
- Java web start
- Hello World in Swing
- Sample UIs
|
Module 2 - Swing Fundamentals (2 hour)
- Event-driven UIs and Swing event handling
- Simple Example: Button in a Frame
- MVC
- Fonts, colors, borders
- A word on threads
|
Module 3 - Building Java GUIs Using the Swing API (3 hour)
- Describe the JFC Swing technology
- Define Swing
- Identify the Swing packages
- Describe the GUI building blocks: containers, components, and layout managers
- Examine top-level, general-purpose, and special-purpose properties of container
- Examine components
- Examine layout managers
- Describe the Swing single-threaded model
- Build a GUI using Swing components
|
Module 4 - Handling GUI-Generated Events (2 hour)
- Define events and event handling
- Examine the Java SE event model
- Describe GUI behavior
- Determine the user action that originated an event
- Develop event listeners
- Describe concurrency in Swing-based GUIs and describe the features of the SwingWorker class
|
Module 5 - Common Containers, Components, and Layouts (4 hour)
- Containers
- JFrame, JDialog, JPanel, JScrollPane
- Components
- JComponent
- JLabel, JButton
- JToggleButton, JRadioButton
- Sliders and spinners
- JTextField and JTextArea
- Layouts
- FlowLayout, BorderLayout, GridLayout, BoxLayout
|
Module 6 - Menus, Actions, and Toolbars (3 hour)
- JMenu, JMenuItem
- JToolBar, Action
- Putting it together: Developing a simple application
|
Module 7 - Principles of UI Design (1 hour)
- Designing for ease of use
- Paper prototypes and usability testing
- Performance and perceived performance
|
Module 8 - More Containers, Components, and Layouts (3 hour)
- Containers
- JPopup
- JSplitPane and JTabbedPane
- Components
- Tooltips
- ComboBoxes
- Listboxes
- JProgressBar
- JTable
- Layouts
|
Module 9 - Branding and Customization (2 hour)
- About Box
- Splash screens
- Logos and icons
- Internationalization / Localization
|
Module 10 - Even More Containers, Components, and Layouts (3 hour)
- Containers
- JDesktopPane, JInternalFrame
- JRootPane, JWindow
- Components
- File chooser
- Color chooser
- Date chooser
- JOptionPane
- JTree
- Layouts
- SpringLayout, OverlayLayout
|
Module 11 - Printing and Data Transfer (3 hour)
- Printing
- Copy and paste
- Drag and drop
|
Module 12 - Implement the Java Database Connectivity (JDBC) API (4 hour)
- Describe the JDBC API
- Explain how using the abstraction layer provided by the JDBC API makes a database front end portable across platforms
- Describe the five major tasks involved with the JDBC programmer's interface
- State the requirements of a JDBC driver and its relationship to the JDBC driver manager
- Describe the data access objects (DAO) pattern and its applicability to a given scenario
- Identify the Workflow and Object Interactions
- Implement a Database-Connected Broker Model by Using the DAO Pattern
|
Module 13 - Log Messages in GUI (3 hour)
- Use the logging API
- Examine a logging example
- Write a custom handler
- Set filters to a particular handler
- Create the Custom Handler class
|
Module 14 - Implement Multiple-Tier Design (3 hour)
- Compare the BrokerTool two-tier design with the three-tier design for the same application
- Explain how you can use the Java technology package, java.net to implement networking applications
- Demonstrate how to use the Command design pattern in the application
- Apply the Strategy design pattern to create reusable code
- Describe how you can implement the network client
- Describe how you can implement the network server
|
Module 15 - Implement Advanced Multiple-Tier Design (3 hour)
- Use the new Java concurrency APIs to create a multithreaded server
- Examine a thread pool
- Identify integrity problems in multithreaded servers
- Create a Generic Network Client class
|
Module 16 - Communicate With Remote Objects Using Java RMI (4 hour)
- Create remote objects
- Use Java RMI to create a multi-tier application
- Deploy a Java RMI Implementation of the BrokerModel Interface
- Create a Java RMI Implementation of the BrokerView Interface
|