java left logo
java middle logo
java right logo
 

Home arrow Book Reviews arrow Java Swing - Second Edition
 
 
Main Menu
Home
Java Tutorials
Book Reviews
Java SE Tips
Java ME Tips
Java EE Tips
Other API Tips
Java Applications
Java Libraries
Java Games
Java Network
Java Forums
Java Blog




Most Visited Tips
Java SE Tips
Java ME Tips
Java EE Tips
Other API Tips
Java Applications
Java Libraries
Java Games
Book Reviews
Top Rated Tips
Java SE Tips
Java ME Tips
Java EE Tips
Other API Tips
Java Applications
Java Libraries
Java Games
Book Reviews


Statistics
Registered Users: 4088
Java SE Tips: 614
Java ME Tips: 202
Java EE Tips: 183
Other API Tips: 779
Java Applications: 298
Java Libraries: 209
Java Games: 16
Book Reviews:
 
 
 
Java Swing - Second Edition E-mail
User Rating: / 57
PoorBest 
 Book Information

Image

Authors: James Elliott, Robert Eckstein (Editor), Marc Loy, David Wood, Brian Cole
Paperback: 1280 pages
Publisher: O'Reilly Media, Inc.; 2 edition (November 1, 2002)
Language: English
ISBN: 0596004087
Product Dimensions: 8.7 x 7.5 x 2.0 inches
ImageAmazon.com Link


 Book Review

This second edition of Java Swing by O'Reilly Publications is a sincere effort both by the Publisher as well as the authors of the book as it covers all the detailed aspects of Java Swing technology. Apart from giving an in-depth knowledge of various old and new features of Swing it also effectively explains the important aspects of both Swing theory as well as application.

This book enables the developers to build effective interfaces by providing them knowledge of Swing’s advanced components and containers. Using the practical approach of the book one can easily understand and implement the concept in his/her application.

The book starts with a brief introduction of Swing, its features, the architecture which it follows so as to give a basic idea of what Swing is actually all about. In this way it keeps the interest of beginners also alive. From here the authors jumps to the Swing Application, how to create buttons, internal frames and then how to blend Swing Components into existing AWT Applications. Then the focus turns towards the Swing Components Basics covering the environmental information, action and various keyboard based controls. Adding of Labels, Icons, buttons as well as Lists, Combo Boxes, and Spinners to the User Interface had also been effectively covered.

The authors had also taken into account some important features of Swing like Containers, Internal Frames, Swing Dialogs, Specialty Panes and Layout Managers .Some eye-catching discussion of Tables had been captured along with Advanced Table examples. The concept of Trees had been efficiently explained. The Undo functionality had been taken care of in a nice way with re-focusing on it in the later part of the book in context with the Text Components which itself includes text Fields, Text Components, Styled Text Panes, Editor Kits etc.

Keeping in view of the users’ needs some features like Drag and Drop functionality, programming with Accessibility, the Look and Feel aspect of Swing had also been explained in the best of the possible ways. Talking about Swing utilities the author had effectively covered the concept of Swing utilities so as to enable the developers to take a more Object Oriented approach. Multithreading being an important aspect of Object Oriented concept is also taken care of in the later half of the book.

This book proves its worth by providing ideas not only for creating a new application but also for upgrading the existing ones. The information related to HTML editing is of great use to the developers. Swing being an efficient interface development kit provides developers with flexible features and modular components, resulting in sophisticated user interfaces with very little code. Several pluggable look-and-feels in Swing are an added advantage for cross-platform applications.

Java Swing gives an in-depth coverage of Swing classes providing detailed descriptions like properties, methods and constructors for every class and interface. Apart from explaining how to use Swing classes the author had also focused on how developers can create their own objects derived from the Swing classes. Swing’s user interface toolkit had removed Java’s biggest weakness allowing users to create their own interfaces. In this way Swing can be considered as a vast improvement over the AWT.

Overall this book had tried to capture every detail of Swing API from fundamental Swing Component to the advanced Look and Feel concept in an impressive manner. Due to its easy readability and simple but efficient way of explaining the concepts this book is a good help to both the beginners as well as experienced programmers. And last but not the least with this book the authors had provided us with a well written and ultimately indispensable guide to Java Swing.


 Table of Contents

Preface

  • What this book covers?
  • What’s new in this edition?
  • On the website
  • Conventions
  • How to contact us?
  • Acknowledgements

Chapter 1: Introducing Swing

  • What is Swing?
  • Swing Features
  • Swing Packages and Classes
  • The Model-View-Controller Architecture
  • Working with Swing
  • The Swing Set Demo
  • Reading this book

Chapter 2: Jump-Starting a Swing Application

  • Upgrading Your AWT Programs
  • A Simple AWT Application
  • Including Your First Swing Component
  • Beyond Buttons
  • What is an Internal Frame?
  • A Bigger Application

Chapter 3: Swing Components Basic

  • Understanding Actions
  • Graphical Interface Events
  • Graphics Environment
  • Sending Change Events in Swing
  • The JComponent Class
  • Responding to Keyboard Input

Chapter 4: Labels and Icons

  • Labels
  • Working With Images
  • Support for HTML
  • Icons
  • Implementing Your Own Icons
  • Dynamic Icons
  • The ImageIcon Class

Chapter 5: Buttons

  • The ButtonModel Interface
  • The DefaultButtonModel Class
  • The AbstractButton Class
  • The JButton Class
  • The JToggleButton Class
  • The JToggleButton.ToggleButtonModel Class
  • The JCheckBox Class
  • The JRadioButton Class
  • The ButtonGroup Class

Chapter 6: Bounded-Range Components

  • The Bounded-Range Model
  • The JScrollBar Class
  • The JSlider Class
  • The JProgressBar Class
  • Monitoring Process

Chapter 7: Lists, Combo Boxes and Spinners

  • Lists
  • Representing List Data
  • Handling Selections
  • Displaying Cell Elements
  • The JList Class
  • Combo Boxes
  • The JComboBox Class
  • Spinners
  • Spinner Models
  • Spinner Editors

Chapter 8: Swing Containers

  • A Simple Container
  • The Root Pane
  • Basic RootPaneContainers
  • The JFrame Class
  • The JWindow Class
  • The JApplet Class

Chapter 9: Internal Frames

  • Simulating A Desktop
  • The JInternalFrame Class
  • The JDesktopPane Class
  • The DesktopManager Interface
  • Building A Desktop

Chapter 10: Swing Dialogs

  • The JDialog Class
  • The JOptionPane Class
  • Using JOptionPane
  • Simple Examples
  • Getting The Results
  • A Comparison : Constructors versus Static Methods
  • Using Internal Frame Dialogs With JDesktopPane

Chapter 11: Specialty Panes and Layout Managers

  • The JSplitPane Class
  • The JScrollPane Class
  • The JTabbedPane Class
  • Layout Managers
  • The SpringLayout Class
  • Other Panes

Chapter 12: Chooser Dialogs

  • The JFileChooser Class
  • The File Chooser Package
  • The Colour Chooser
  • The JColourChooser Class
  • Developing A Custom Chooser Panel
  • Developing A Custom Preview Panel
  • Developing A Custom Dialog

Chapter 13: Borders

  • Introducing Borders
  • Painting Borders Correctly
  • Swing Borders
  • Creating Your Own Borders

Chapter 14: Menus and Toolbars

  • Introducing Swing Menu
  • Menu Bar Selection Models
  • The JMenuBar Class
  • The JMenuItem Class
  • The JPopupMenu Class
  • The JMenu Class
  • Selectable Menu Items
  • Toolbars

Chapter 15: Tables

  • The JTable Class
  • Implementing A Column Model
  • Table Data
  • Selecting Table Entries
  • Rendering Cells
  • Editing Cells
  • Next Steps

Chapter 16: Advanced Table Examples

  • A Table With Row Headers
  • Large Tables With Paging
  • A Table With Custom Editing and Rendering
  • Charting Data with a TableModel

Chapter 17: Trees

  • A Simple Tree
  • Tree Models
  • The JTree Class
  • Tree Nodes and Paths
  • Tree Selections
  • Tree Events
  • Rendering and Editing
  • What’s Next ?

Chapter 18: Undo

  • The Swing Undo Facility
  • The UndoManager Class
  • Extending UndoManager

Chapter 19: Text 101

  • The Swing Text Components
  • The JTextComponent Class
  • The JTextField Class
  • A Simple Form
  • The JPasswordField Class
  • The JTextArea Class
  • How It All Works ?

Chapter 20: Formatted Text Fields

  • The JFormattedTextField Class
  • Handling Numerics
  • The DefaultFormatter Class
  • The MaskFormatter Class
  • The InternationalFormatter Class
  • The DataFormatter Class
  • The NumberFormatter Class
  • The DefaultFormatterFactory Class
  • Formatting With Regular Expressions
  • The InputVerifier Class

Chapter 21: Carets, Highlighters and Keymaps

  • Carets
  • Highlighters
  • Keymaps

Chapter 22: Styled Text Panes

  • The JTextPane Class
  • AttributeSets and Styles
  • The Document Model
  • Document Events
  • Views
  • The DocumentFilter Class
  • The NavigationFilter Class

Chapter 23: Editor Panes and Editor Kits

  • The JEditorPane Class
  • Overview of the Editor Kits
  • HTML and JEditorPane
  • Hyperlink Events
  • The HTMLEditorKit Class
  • Extending HTMLEditorKit
  • Extending HTML
  • Writing HTML
  • Reading HTML
  • A Custom EditorKit

Chapter 24: Drag and Drop

  • What is Drag and Drop?
  • The Drop API
  • The Drag Gesture API
  • The Drag API
  • Rearranging Trees
  • Finishing Touches

Chapter 25: Programming with Accessibility

  • How Accessibility Works?
  • The Accessibility Package
  • Other Accessible Objects
  • Types of Accessibility
  • Classes Added in SDK 1.3 and 1.4
  • The Accessibility Utility Classes
  • Interfacing With Accessibility

Chapter 26: Look And Feel

  • Mac OS X and the default Look-and-Feel
  • How does it Works?
  • Key Look-and-Feel Classes and Interfaces
  • The MultiLookAndFeel
  • Auditory Cues
  • Look-and-Feel Customization
  • Creation of a Custom Look-and-Feel

Chapter 27: Swing Utilities

  • Utility Classes
  • The Timer Class
  • Tooltips
  • Rendering Odds and Ends
  • Event Utilities

Chapter 28: Swing under the Hood

  • Working With Focus
  • Multithreading Issues In Swing
  • Lightweight Versus Heavyweight components
  • Painting And Repainting
  • Creating Your Own Component

Appendix A. Look-and-Feel Resources

Appendix B. Component Actions

 Overview of Chapters

Chapter 1: Introducing Swing

  • What Is Swing
  • What Are the Java Foundation Classes
  • What are different features of Swing.
  • What are the different Swing Packages and Classes.
  • What is Model-View-Controller Architecture and how Swing uses it as the fundamental design behind each of its components

Chapter 2: Jump-Starting a Swing Application

  • How to add images to buttons.
  • What is an internal frame.
  • How to create internal frames.
  • How to create a rudimentary Swing application using internal frames.
  • How you can put the Swing Components into your existing AWT Applications.

Chapter 3: Swing Components Basics

  • What are the various lower-level helper classes of Swing.
  • What is an Action and how to implement it in Swing.
  • How you can retrieve the Graphics-environmental information.
  • How you can send the change events in Swing.
  • What is a JComponent Class.
  • How to work on keyboard-based control using Swing.

Chapter 4: Labels And Icons

  • How Swing allows you to create and add labels to a User Interface.
  • How you can work with images in Swing.
  • How multiline and multifont labels can be created using HTML.
  • How you can implement the Icon Interface using Swing.
  • How you can implement the ImageIcon using Swing.

Chapter 5: Buttons

  • What are buttons.
  • How different interfaces and classes defines the state of the button in Swing.
  • What is a ButtonModel Interface.
  • How Swing provides and supports the implementation of ButtonModel Interface.
  • How Swing provides functionality common to all types of buttons using an abstract base class.
  • What are the various Button Class and how Swing provides support for them.

Chapter 6: Bounded-Range Components

  • What is a Bounded-Range Model.
  • What are the various Bounded-Range components in Swing.
  • How Swing supports the Bounded-Range Model.
  • How you can implement the Progress Monitoring aspect for a Task using Swing.

Chapter 7: Lists, Combo Boxes, and Spinners:

  • How to create a List using the Swing list class.
  • How Swing maintains the model of the list elements.
  • How Swing supports and implements holding of information about a change in the list data model.
  • How you can display each element in the list using different Swing options.
  • How you can implement the Combo-Box using Swing.
  • What is a spinner.
  • How you can create the Spinners using Swing.
  • How you can create Spinner Editors using Swing.

Chapter 8: Swing Containers

  • How you can group different components together using Swing.
  • How you can create a Swing Container.
  • What are some basic Swing containers.
  • How can you create some basic containers like JFrame,JWindow and JApplet.

Chapter 9: Internal Frames

  • How you can simulate a Desktop i.e. how you can create and manage your own desktop in a window using Swing.
  • How you can create an application using JDesktopPane,JInternalFrame and a custom DesktopManager
  • The effect of adding frames to different layers of the desktop
  • How to display a background image ("wallpaper") on the desktop
  • How to keep frames from being moved outside of the desktop
  • How to deiconify, move, and resize internal frames.

Chapter 10: Swing Dialogs

  • How can you create the Dialog Boxes in Swing.
  • How different Swing classes can help you creating the Dialog Boxes.
  • How can you retrieve information about the user's interaction with the dialog in Swing.
  • In order to get the best results how you can adapt your application to use a JDesktopPane so that you can use internal frame dialogs.

Chapter 11: Specialty Panes and Layout Managers

  • How you can use several Swing Layout Managers to place various Swing components.
  • How you can implement different Panes in Swing like The JSplitPane Class, JScrollPane Class and JTabbedPane Class.
  • How you can create any pane you like using Swing Containers and Layout Managers.

Chapter 12: Chooser Dialogs

  • How you can Open and Save the Files using effective Swing mechanisms.
  • Why Swing component is more effective than that of AWT.
  • The JFileChooser Class, The File Chooser Package
  • How you can pick a color using the JColorChooser Component of Swing.
  • How you can develop a Custom Color Chooser as well as Preview Panel in Swing.

Chapter 13: Borders

  • How you can configure and work with Swing Borders.
  • How you can create a border of your own.
  • What are the standard borders which Swing provides.
  • How you should paint the borders while creating them.
  • Swing’s built-in border classes.

Chapter 14: Menus and Toolbars

  • Features of the Swing menu system.
  • The elements of the Swing menu system.
  • How you can study the Swing menu in a hierarchical manner.
  • How Swing menu components provides selection to be made.
  • How you can attach menu bars to Swing frames or applets.
  • How to program the Menu Item Shortcuts.

Chapter 15: Tables

  • How you can represent data in a Table format using Swing tables.
  • Swing tables and its properties.
  • What is a TableColumnModel in the Swing Package.
  • How can you implement the Column model.
  • How you can select data from the tables.
  • How you can create custom editors for your table cells.

Chapter 16: Advanced Table Examples

  • How you can put tables to work in more advanced situations.
  • How you can work with scrollable table with row headers and how you can add row headers to a JTable and make them work properly within a JScrollPane.
  • How you can Scroll back and forth more effectively for a table having extremely large number of rows.
  • How you can edit the value inside a cell using a slider.
  • How you can build components other than just tables like pie charts, bar charts or any other kind of data displays using the table machinery.

Chapter 17: Trees

  • What are Trees and where you can use them in your application.
  • How you can work with Tree models.
  • How you can give visual representation to the trees using Swing’s JTree Class.
  • How you can implement Selections in a Tree.
  • What are the different types of events generated by the Tree.
  • How you can create your own tree cell renderers and editors.

Chapter 18: Undo

  • How Swing’s Classes and interfaces provide a powerful Undo facility.
  • What are the different Classes and Interfaces which supports Undo facility.
  • The UndoManager Class.
  • How you can further extend the functionality which Undo framework provides.

Chapter 19: Text

  • How you can work with Texts in User Interfaces using Swing Classes.
  • What are the different Swing text Components.
  • How different Swing text Component Classes share a common base class.
  • How you can create Forms in Swing.
  • How you can create the echo character (*) display in place of the characters typed by the user (generally used for entering Passwords).

Chapter 20: Formatted Text Fields

  • How Swing provides extended functionality for text fields.
  • How Numerics is being handled in Swing text fields.
  • How different Swing Formatter Classes helps in formatting the strings.
  • How Swing’s DefaultFormatterFactory Class holds multiple formatters and helps in deciding which formatter is to be given to the field.
  • How your can write your own formatter for regular expressions.

Chapter 21: Carets, Highlighters, and Keymaps

  • How you can modify the behavior and appearance of Text components like Carets, Highlighters, and Keymaps.
  • What are Carets, Highlighters, and Keymaps.
  • How you can implement the Carets, Highlighters, and Keymaps using Swing.

Chapter 22: Styled Text Panes

  • What is a JTextPane.
  • What is Document model and how it is useful for text components.
  • What are AttributeSets, how they are useful and how they can be applied to text block.
  • What are Document events and how they are implemented in Swing.
  • Example of Swing’s Undo Classes used with text components.
  • What are Swing’s View Classes.
  • How Styled Text is drawn to the screen.
  • What is Swing’s DocumentFilter Class and how does it works.
  • What is NavigationFilter, how can it be implemented and how does it differ from DocumentFilter.

Chapter 23: Editor Panes and Editor Kits

  • How different Swing classes and interfaces that makes up the entire text framework can be put together.
  • Overview of the various Editor Kits.
  • How HTML support is provided by the HTMLEditorKit.
  • How Swing supports various Hyperlink events.
  • How do you Edit, Write and Read HTML.
  • Steps involved in creating your own editor kit.

Chapter 24: Drag and Drop

  • How can you create applications that accept information being dragged and dropped from an external source.
  • What is Drag and Drop.
  • What are the various Swing classes which supports Drop Functionality.
  • How can you implement the Drop functionality in Swing.
  • What are the various Swing classes which supports Drag Functionality.
  • How can you implement the Drag functionality in Swing.
  • How can you rearrange the Trees using the Drag and Drop feature.
  • How you can add few more features to obtain a mature user interface.

Chapter 25: Programming with Accessibility

  • What is Accessibility.
  • How Accessibility works.
  • What are the various issues which an assistive technology encounters when hooking into an accessibility-friendly application.
  • What are the different types of assistive functionalities which Accessible components can export.
  • What are the different classes added in SDK 1.3 and 1.4
  • How the accessibility utility classes can provide assistive technologies with different kind of support.
  • How you can create an assistive technology that can interface with accessible components.

Chapter 26: Look And Feel

  • The Default L&F presented to users on different platforms.
  • How can you assist your application to use a particular L&F.
  • How the Swing component classes work together with the UI-delegate classes.
  • What are the various PLAF-related classes in Swing’s Package.
  • How PLAF fits into the JFC’s accessibility framework.
  • How can you customize the L&F of your application.

Chapter 27: Swing Utilities

  • How you can use the already defined Swing classes and methods in your own code so as to avoid them being re-written.
  • How different Swing Utilities can be used with any part of your application.
  • How you can generate timed events using Swing’s Timer Class.
  • How can you use advance ToolTip features in your application.
  • What are the various Swing Event Utilities and how they help in creating or extending your new or existing Swing component respectively.

Chapter 28: Swing Under the Hood

  • Concept of Focus in Swing.
  • How can you alter the flow of Focus over components.
  • Multithreading issues in Swing.
  • Issues related to the Lightweight and Heavyweight Swing components.
  • How Painting and Repainting works in Swing.
  • How you can create your own Swing Component.
  • List of component UI resources with the resource name and its expected value type.

Reviewer: Sumit Kulshreshtha


 Related Tips

 
< Prev   Next >

Page 1 of 0 ( 0 comments )

You can share your information about this topic using the form below!

Please do not post your questions with this form! Thanks.


Name (required)


E-Mail (required)

Your email will not be displayed on the site - only to our administrator
Homepage(optional)



Comment Enable HTML code : Yes No



 
       
         
     
 
 
 
   
 
 
java bottom left
java bottom middle
java bottom right
RSS 0.91 FeedRSS 1.0 FeedRSS 2.0 FeedATOM FeedOPML Feed

Home - About Us - Privacy Policy
Copyright 2005 - 2008 www.java-tips.org
Java is a trademark of Sun Microsystems, Inc.