Signup as a Tutor

As a tutor you can connect with more than a million students and grow your network.

Java GUI Programming Swing

No Reviews Yet

Course type: Online Instructor led Course

Course ID: 11268

Course type: Online Instructor led Course

Students Interested 0 (Seats Left 0)

No Reviews Yet

Date and Time

Not decided yet.

Sabareesan picture
Sabareesan

MS

12 Years of Experience

About Sabareesan

I have 11 years experience in IT Training and development. I am a Corporate Trainer. Used to take training in software companies. I am having much experience in Java.
No reviews currently Be the First to Review

About the Course

In this course I am covering the Java GUI Programming. You can understand swing API in detail. Java GUI is very interesting

Topics Covered

Java GUI Programming Swing



Foundations
Swing overview
AWT
Swing
Z-order , Platform independence ,
Swing package overview
MVC architecture
Model , View , Controller , Custom view
and controller , Custom models
UI delegates and PLAF
The ComponentUI class , Pluggable look and feel ,
Where are the UI delegates?

Swing mechanics
JComponent properties, sizing, and positioning
Properties , Size and positioning
Event handling and dispatching
EventListenerList , Event-dispatching thread
Multithreading
Special cases , How do we build our own
thread-safe methods ,
Timers
AppContext services
Inside Timers and the TimerQueue
JavaBeans architecture
The JavaBeans component model , Introspection ,
Properties , Customization , Communication ,
Persistency , A simple Swing-based JavaBean
Fonts, colors, graphics, and text
Fonts , Colors , Graphics and text
Using the Graphics clipping area
Graphics debugging
Graphics debugging options , Graphics debugging caveats ,
Using graphics debugging
Painting and validation
Double buffering , Optimized drawing ,
Root validation , RepaintManager , Revalidation ,
Repainting , Painting , Custom painting
Focus Management
KeyboardFocusManager , Key events and focus management ,
Focus and Window events ,
Focusability and traversal policies
Keyboard input
Listening for keyboard input ,
KeyStrokes , Scopes , Actions ,
InputMaps and ActionMaps
The flow of keyboard input

The basics
Frames, panels, and borders
Frames and panels overview
JFrame , JRootPane , RootLayout ,
The RootPaneContainer interface ,
The WindowConstants interface , The WindowListener
interface , WindowEvent , WindowAdapter ,
Custom frame icons , Centering a frame on the screen ,
Headless frames and extended frame states ,
Look and feel window decorations ,
JApplet , JWindow , JPanel
Borders
Inside borders
Creating a custom border
Understanding the code , Running the code

Layout managers
Layouts overview
LayoutManager , LayoutManager ,
BoxLayout , Box , Filler , FlowLayout ,
GridLayout , GridBagLayout , BorderLayout ,
CardLayout , SpringLayout , JPanel
Comparing common layout managers
Understanding the code , Running the code
Using GridBagLayout
Default behavior of GridBagLayout , Introducing
GridBagConstraint , Using the gridx, gridy, insets,
ipadx and ipady constraints , Using weightx and
weighty constraints , Using gridwidth and gridheight
constraints , Using anchor constraints , Using fill
constraints , Putting it all together: constructing a
complaints dialog , A simple helper class example
Choosing the right layout
Understanding the code , Running the code
Custom layout manager, part I: labels/field pairs
Understanding the code , Running the code
Custom layout manager, part II: common interfaces
Understanding the code , Running the code
Dynamic layout in a JavaBeans container
Understanding the code , Running the code

Labels and buttons
Labels and buttons overview
JLabel , Text alignment , Icons and icon
alignment , GrayFilter , The labelFor and the
displayedMnemonic properties , AbstractButton ,
The ButtonModel interface , JButton ,
JToggleButton , ButtonGroup , JCheckBox and
JRadioButton , JToolTip and ToolTipManager ,
Labels and buttons with HTML text
Custom buttons, part I: transparent buttons
Understanding the code , Running the code
Custom buttons, part II: polygonal buttons
Understanding the code , Running the code
Custom buttons, part III: tooltip management
Understanding the code , Running the code

Tabbed panes
JTabbedPane
A dynamically changeable tabbed pane
Understanding the code , Running the code ,
Interesting JTabbedPane characteristics
Tab validation
Understanding the code

Scrolling panes
JScrollPane
The ScrollPaneConstants interface , JViewport ,
ScrollPaneLayout , The Scrollable interface
Grab-and-drag scrolling
Understanding the code
Scrolling programmatically
Understanding the code , Running the code

Split panes
JSplitPane
Basic split pane example
Understanding the code , Running the code
Synchronized split pane dividers
Understanding the code , Running the code

Combo boxes
JComboBox
The ComboBoxModel interface ,
The MutableComboBoxModel interface ,
DefaultComboBoxModel , The ListCellRenderer
interface , DefaultListCellRenderer ,
The ComboBoxEditor interface
Basic JComboBox example
Understanding the code , Running the code
Custom model and renderer
Understanding the code , Running the code
Combo boxes with memory
Understanding the code , Running the code
Custom editing
Understanding the code , Running the code

List boxes and Spinners
JList
The ListModel interface , AbstractListModel ,
DefaultListModel , The ListSelectionModel
interface , DefaultListSelectionModel ,
The ListCellRenderer interface , The ListDataListener
interface , ListDataEvent , The ListSelectionListener
interface , ListSelectionEvent
Basic JList example
Understanding the code , Running the code
Custom rendering
Understanding the code , Running the code
Processing keyboard input and searching
Understanding the code , Running the code
List of check boxes
Understanding the code , Running the code
JSpinner
The SpinnerModel interface , AbstractSpinnerModel
SpinnerDateModel , SpinnerListModel
SpinnerNumberModel
Using JSpinner to select numbers
Understanding the code , Running the code
Using JSpinner to select dates
Understanding the code , Running the code
Using JSpinner to select a value from a list
Understanding the code , Running the code
Extending the functionality of JSpinner
Understanding the code , Running the code

Text components and undo
Text components overview
JTextComponent , JTextField , JPasswordField ,
JTextArea , JEditorPane , JTextPane
Using the basic text components
Understanding the code , Running the code
JFormattedTextField
JFormattedTextFieldAbstractFormatter , DefaultFormatter ,
MaskFormatter , InternationalFormatter , DateFormatter ,
NumberFormatter , JFormattedTextFieldAbstractFormatterFactory ,
DefaultFormatterFactory
Basic JFormattedTextField example
Understanding the code , Running the code
Using Formats and InputVerifier
InputVerifier , Understanding the code
Formatted Spinner example
Understanding the code , Running the code
Undo/redo
The UndoableEdit interface , AbstractUndoableEdit ,
CompoundEdit , UndoableEditEvent ,
The UndoableEditListener interface , UndoManager ,
The StateEditable interface , StateEdit ,
UndoableEditSupport , CannotUndoException ,
CannotRedoException , Using built-in text component undo/redo
functionality

Menus, toolbars, and actions
Menus, toolbars, and actions overview
The SingleSelectionModel interface ,
DefaultSingleSelectionModel , JMenuBar , JMenuItem ,
JMenu , JPopupMenu , JSeparator ,
JCheckBoxMenuItem , JRadioButtonMenuItem ,
The MenuElement interface , MenuSelectionManager ,
The MenuDragMouseListener interface ,
MenuDragMouseEvent , The MenuKeyListener interface ,
MenuKeyEvent , The MenuListener interface ,
MenuEvent , The PopupMenuListener interface ,
PopupMenuEvent , JToolBar , Custom JToolBar
separators , Changing JToolBar’s floating frame behavior ,
The Action interface , AbstractAction
Basic text editor, part I: menus
Understanding the code , Running the code
Basic text editor, part II: toolbars and actions
Understanding the code , Running the code
Basic text editor, part III: custom toolbar components
Understanding the code , Running the code
Basic text editor, part IV: custom menu components
Understanding the code , Running the code

Progress bars, sliders, and scroll bars
Bounded-range components overview
The BoundedRangeModel interface ,
DefaultBoundedRangeModel , JScrollBar ,
JSlider , JProgressBar , ProgressMonitor ,
ProgressMonitorInputStream
Basic JScrollBar example
Understanding the code , Running the code
JSlider date chooser
Understanding the code , Running the code
JSliders in a JPEG image editor
The JPEGDecodeParam interface , The JPEGEncodeParam
interface , The JPEGImageDecoder interface ,
The JPEGImageEncoder interface , JPEGCodec ,
Understanding the code , Running the code
JProgressBar in an FTP client application
FtpClient , Understanding the code ,
Running the code

Dialogs
Dialogs and choosers overview
JDialog , JOptionPane , JColorChooser ,
The ColorSelectionModel interface ,
DefaultColorSelectionModel ,
AbstractColorChooserPanel ,
ColorChooserComponentFactory ,
JFileChooser , FileFilter ,
FileSystemView , FileView
Constructing a Login dialog
Understanding the code , Running the code
Adding an About dialog
Understanding the code , Running the code
JOptionPane message dialogs
Understanding the code
Customizing JColorChooser
Understanding the code , Running the code
Customizing JFileChooser
ZipInputStream , ZipOutputStream , ZipFile ,
ZipEntry , The javautiljar package , Manifest ,
Understanding the code , Running the code

Advanced topics

Layered panes
JLayeredPane
Using JLayeredPane to enhance interfaces
Creating a custom MDI

Desktops & internal frames
JDesktopPane and JInternalFrame
JDesktopPane , JInternalFrame ,
JInternalFrameJDesktopIcon , The DesktopManager
interface , DefaultDesktopManager , Capturing
internal frame close events , The InternalFrameListener
interface , InternalFrameEvent ,
InternalFrameAdapter , Outline dragging mode
Cascading and outline dragging mode
Understanding the code , Running the code
Adding MDI to a text editor application
Understanding the code , Running the code
Examples from the first edition

Trees
JTree
Tree concepts and terminology , Tree traversal ,
JTree , The TreeModel interface ,
DefaultTreeModel , The TreeNode interface ,
The MutableTreeNode interface , DefaultMutableTreeNode ,
TreePath , The TreeCellRenderer interface ,
DefaultTreeCellRenderer , CellRenderPane ,
The CellEditor interface , The TreeCellEditor interface ,
DefaultCellEditor , DefaultTreeCellEditor ,
The RowMapper interface , The TreeSelectionModel
interface , DefaultTreeSelectionModel ,
The TreeModelListener interface , The TreeSelectionListener
interface , The TreeExpansionListener interface ,
The TreeWillExpandListener interface , TreeModelEvent ,
TreeSelectionEvent , TreeExpansionEvent
ExpandVetoException , JTree client properties and
UI defaults , Controlling JTree appearance
Basic JTree example
Understanding the code , Running the code
Directory tree, part I: dynamic node retrieval
Understanding the code , Running the code
Directory tree, part II: popup menus, programmatic navigation,
node creation, renaming, and deletion
Understanding the code , Running the code
Directory tree, part III: tooltips
Understanding the code , Running the code

Tables
JTable
JTable , The TableModel interface ,
AbstractTableModel , DefaultTableModel ,
TableColumn , The TableColumnModel interface ,
DefaultTableColumnModel , The TableCellRenderer
interface , DefaultTableCellRenderer ,
The TableCellEditor interface , DefaultCellEditor ,
The TableModelListener interface , TableModelEvent ,
The TableColumnModelListener interface ,
TableColumnModelEvent , JTableHeader ,
JTable selection , Column width and resizing ,
JTable Appearance , JTable scrolling
Stocks table, part I: basic JTable example
Understanding the code , Running the code
Stocks table, part II: custom renderers
Understanding the code , Running the code
Stocks table, part III: sorting columns
Understanding the code , Running the code
Stocks table, part IV: JDBC
Understanding the code , Running the code
Stocks table, part V: column addition and removal
Understanding the code , Running the code
Expense report application
Understanding the code , Running the code
Expense report application with variable height rows
Understanding the code , Running the code
A JavaBeans property editor
Understanding the code , Running the code

Inside text components
Text package overview
More about JTextComponent , The Document interface ,
The StyledDocument interface , AbstractDocument ,
The Content interface , The Position interface ,
The DocumentEvent interface , The DocumentListener
interface , The Element interface , PlainDocument ,
, The AttributeSet interface ,
The MutableAttributeSet interface , The Style interface ,
StyleConstants , StyleContext , The Highlighter
interface , DefaultHighlighter , The Caret interface ,
DefaultCaret , The CaretListener interface ,
CaretEvent , The Keymap interface , TextAction ,
EditorKit , DefaultEditorKit , StyledEditorKit ,
View , The ViewFactory interface

Constructing an HTML Editor Application
HTML editor, part I: introducing HTML
Understanding the code , Running the code
HTML editor, part II: managing fonts
Understanding the code , Running the code
HTML editor, part III: document properties
Understanding the code , Running the code
HTML editor, part IV: working with HTML styles and tables
Understanding the code , Running the code
HTML editor, part V: clipboard and undo/redo
Understanding the code , Running the code
HTML editor, part VI: advanced font management
Understanding the code , Running the code
HTML editor, part VII: find and replace
Understanding the code , Running the code
HTML editor, part IX: spell checker (using JDBC and SQL)
Understanding the code , Running the code

Pluggable look and feel
Pluggable look and feel overview
LookAndFeel , UIDefaults , UIManager ,
The UIResource interface , ComponentUI ,
BasicLookAndFeel , How look and feel works ,
Selecting a look and feel , Creating a custom LookAndFeel
implementation , Defining default component
resources , Defining class defaults ,
Creating custom UI delegates , Metal themes
Custom look and feel, part I: using custom resources
Understanding the code , Running the code
Custom look and feel, part II: creating custom UI delegates
Understanding the code , Running the code
Examples from the first edition

Special topics
Printing
Java printing overview
PrinterJob , The Printable interface ,
The Pageable interface , The PrinterGraphics
interface , PageFormat , Paper ,
Book , PrinterException
Printing images
Understanding the code , Running the code
Print preview
Understanding the code , Running the code
Printing text
Understanding the code , Running the code
Printing tables
Understanding the code , Running the code

Constructing an XML editor
XML editor, part I: viewing nodes
Understanding the code , Running the code
XML editor, part II: viewing attributes
Understanding the code , Running the code
XML editor, part III: editing nodes and attributes
Understanding the code , Running the code
XML editor, part IV: adding, editing,
and removing nodes and attributes
Understanding the code , Running the code
XML editor, part V: custom drag and drop
Understanding the code

Drag and drop
Drag and drop overview
The Transferable interface , Clipboard ,
The ClipboardOwner interface , TransferHandler ,
DropTarget , The DropTargetListener interface
Adding drag and drop support within Basic Text Editor
Understanding the code , Running the code
Drag and drop files to Base Text Editor
Understanding the code , Running the code
Drag and drop with Java objects
Understanding the code

Who should attend

Any one who has Basic Java Knoowledge

Pre-requisites

Java Basics

What you need to bring

If you want I can take Online class using Internet or you can come to my place or i can come to your place if you are in chennai

Key Takeaways

Java GUI Programming E-Books. Power Point Presentations. Sample programs. Exercise.

Reviews

No reviews currently Be the First to Review

Discussions

Students Interested 0 (Seats Left 0)

Post your requirement and let us connect you with best possible matches for Computer Software Classes Post your requirement now
Enquire

Enquire

Submit your enquiry for Java GUI Programming Swing

Please enter valid question or comment

Please select a category

Please enter your name.

Please enter valid Phone Number

Please enter the Pin Code.

By submitting, you agree to our Terms of use and Privacy Policy

Connect With Sabareesan

You have reached a limit!

We only allow 20 Tutor contacts under a category. Please send us an email at support@urbanpro.com for contacting more Tutors.

You Already have an UrbanPro Account

Please Login to continue

Please Enter valid Email or Phone Number

Please Enter your Password

Please Enter valid Password or OTP

Forgot Password? Resend OTP OTP Sent

Sorry, we were not able to find a user with that username and password.

We have sent you an OTP to your register email address and registered number. Please enter OTP as Password to continue

Further Information Received

Thank you for providing more information about your requirement. You will hear back soon from the trainer