Advanced Java Swing e-book

This is Advanced Swing e-book. It covers Java Swing library in a great detail. It has 621 pages and contains 206 code examples.

Advanced Java Swing e-book

Advanced Java Swing e-book

pixel.gif

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.

Price

The e-book costs 21 €.

About this e-book

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).

Screenshots

Here you can see some of the screenshots from the e-book.

syntaxhighlight.png

Figure: Simple syntax highlighting implemented with a document filter.

bracketmatcher.png

Figure: Bracket matching implemented with a caret listener and a highlighter.

miglayouthorizontalalignment.png

miglayoutverticalalignment.png

Figure: Explaining horizontal and vertical alignments with the MigLayout manager.

readingwebpage.png

Figure: Reading a web page with an ExecutorService.

searchingforfiles.png

Figure: Using a SwingWorker to search for files.

spotlight.png

Figure: Using a BufferedImage to create a nice spotlight effect.

palette.png

Figure: Demonstrating the colour palette of the Metal look and feel with the UIManager.

sortinglist.png

Figure: Sorting items of a JList component.

abstracttablemodel.png

Figure: Modifying items of a table with the AbstractTableModel.

searchingtree.png

Figure: Searching for items in a JTree component.

Table of Contents

  1. $1

  2. $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

ad ad