This is Advanced Swing e-book. It covers Java Swing library in a great detail. It has 621 pages and contains 206 code examples.
The e-book has 621 pages and 206 code examples. The e-book goes quickly to the point and is loaded with practical examples which focus on one important aspect. Heavy emphasis is placed on clarity and conciseness. No time is wasted with unimportant digressions. It is an ideal material for those who already know some basics of Java Swing. The e-book is written in plain English.
The code examples were tested on Linux and Windows. They can be run on JDK 7 and JDK 8. After purchasing the e-book, you will obtain a ZIP file. In the ZIP file, you will find a PDF file and all code examples. The code examples are in the form of NetBeans projects.
Once you make a payment, you will also get a confirmation email from Paypal. If something goes wrong with the payment process, drop me an email at vronskij(at)gmail.com.
The e-book costs 21 €.
This is Advanced Java Swing e-book. This e-book covers advanced parts of the Swing in a great detail. The complete table of contents is listed at the end of the page.
This e-book is divided into three parts, which contain 12 chapters:
Foundations
1. $1
2. $1
3. $1
4. $1
5. $1
6. $1
Layout management
1. $1
2. $1
Advanced components
1. $1
2. $1
3. $1
4. $1
The Foundations part explains six different areas of Swing. The first chapter of the e-book covers Swing toplevel containers—fundamental components which contain other Swing components. The Events chapter is an in-depth coverage of the event handling system of Swing. It has 25 examples. The SwingWorker chapter explains the very important SwingWorker class and provides three detailed examples. The Painting chapter explains the basics of the painting mechanism. In the BufferedImage chapter, we show how to work with images in Swing. In the Miscellaneous chapter, we cover various aspects of Swing, including keyboard handling, compound border, and making a screenshot.
The Layout management part explains the layout management of Swing components. This area is considered to be one of the most difficult areas of GUI programming. Therefore, the e-book gives particular emphasis on the layout management process. There are two chapters: GroupLayout manager and MigLayout manager. These are the most flexible layout managers available for Swing. The chapters contain many easy to understand practical examples. (GroupLayout 18 examples, MigLayout 41 examples.)
The Advanced components part covers advanced Swing components in a great detail. Plenty of practical examples explain the JList (14 examples), the JTree (22 examples), the JTable (29 examples), and several text components (28 examples).
Here you can see some of the screenshots from the e-book.
Figure: Simple syntax highlighting implemented with a document filter.
Figure: Bracket matching implemented with a caret listener and a highlighter.
Figure: Explaining horizontal and vertical alignments with the MigLayout manager.
Figure: Reading a web page with an ExecutorService.
Figure: Using a SwingWorker to search for files.
Figure: Using a BufferedImage to create a nice spotlight effect.
Figure: Demonstrating the colour palette of the Metal look and feel with the UIManager.
Figure: Sorting items of a JList component.
Figure: Modifying items of a table with the AbstractTableModel.
Figure: Searching for items in a JTree component.
$1
$1
Foundations
Toplevel containers
3. $1
4. $1
5. $1
6. $1
7. $1
Events
1. $1
2. $1
3. $1
4. $1
5. $1
Actions
6. $1
7. $1
ActionListener vs ItemListener
Application closing
EventQueue
AWTEventListener
MouseEvent
1. $1
2. $1
3. $1
ItemEvent
PaintEvent
FocusEvent
1. $1
2. $1
Scheduling tasks
1. $1
2. $1
3. $1
SwingWorker
1. $1
2. $1
3. $1
Painting
1. $1
2. $1
Painting into image
3. $1
4. $1
The repaint() method
1. $1
2. $1
BufferedImage
1. $1
2. $1
3. $1
4. $1
5. $1
Miscellaneous
Keyboard
1. $1
2. $1
3. $1
UIManager
1. $1
2. $1
Compound border
Custom border
Screen capture
Opaque
1. $1
2. $1
Layout management
GroupLayout manager
First examples
1. $1
2. $1
Independent dimensions
1. $1
2. $1
Gaps
1. $1
2. $1
3. $1
Indent
Alignments
1. $1
2. $1
3. $1
Parallel group's size
Practical examples
1. $1
2. $1
3. $1
4. $1
5. $1
6. $1
MigLayout manager
Grid
1. $1
2. $1
3. $1
4. $1
5. $1
6. $1
Bound size
1. $1
2. $1
3. $1
Constraints
1. $1
2. $1
3. $1
4. $1
5. $1
6. $1
7. $1
8. $1
9. $1
10. $1
11. $1
12. $1
13. $1
14. $1
15. $1
16. $1
17. $1
18. $1
19. $1
20. $1
21. $1
22. $1
Practical examples
1. $1
2. $1
3. $1
4. $1
5. $1
6. $1
7. $1
8. $1
9. $1
10. $1
Advanced components
JList component
1. $1
2. $1
DefaultListModel
3. $1
4. $1
AbstractListModel
1. $1
2. $1
ListDataListener
Selections
Renderers
1. $1
2. $1
3. $1
Sorting
Filtering
JTable component
1. $1
2. $1
DefaultTableModel
3. $1
4. $1
AbstractTableModel
1. $1
2. $1
TableModelListener
Selection model
Table cell renderers
1. $1
2. $1
3. $1
Custom cell renderer
1. $1
2. $1
Table cell editors
1. $1
2. $1
3. $1
Table columns
1. $1
2. $1
3. $1
4. $1
Table header renderer
Sorting
1. $1
2. $1
3. $1
Filtering
1. $1
2. $1
Row headers
Final example
JTree component
1. $1
DefaultMutableTreeNode
2. $1
3. $1
DefaultTreeModel
TreePath
Tree rows
Selections
1. $1
2. $1
3. $1
User object
Tree enumerations
Expanding and collapsing nodes
1. $1
2. $1
Tree cell renderers
Tree cell editors
1. $1
2. $1
3. $1
4. $1
5. $1
Lazy loading
1. $1
2. $1
Searching tree
Text components
1. $1
2. $1
3. $1
4. $1
Verifying input
5. $1
6. $1
DocumentListener
DocumentEvent
PlainDocument
1. $1
2. $1
3. $1
EditorKit
View
1. $1
2. $1
Word count
Highlighting text
1. $1
2. $1
Bracket matching
NavigationFilter
DocumentFilter
1. $1
2. $1
3. $1
Text undo & redo
Styles
StyledEditorKit
Syntax highlighting
Bibliography