Java Foundation Classes in a Nutshell

Book description

Java Foundation Classes in a Nutshell is an indispensable quick reference for Java programmers who are writing applications that use graphics or graphical user interfaces. The author of the bestsellingJava in a Nutshell has written fast-paced introductions to the Java APIs that comprise the Java Foundation Classes (JFC), such as the Swing GUI components and Java 2D, so that you can start using these exciting new technologies right away.This book also includes O'Reilly's classic-style, quick-reference material for all of the classes in the javax.swing and java.awt packages and their numerous subpackages. This reference material covers all of the new JFC classes in the Java 2 platform, as well as the existing Java 1.1 AWT classes. Once you've learned about the JFC, you'll keep this book next to your keyboard for handy reference while you program.Java Foundation Classes in a Nutshell contains the following:

  • An overview of the architecture of graphical user interfaces built with both the new Swing API and the older AWT
  • An introduction to the important components and application services provided by the Swing API
  • An comprehensive explanation of the features of the new Java 2D graphics API
  • A complete quick reference for the graphics- and GUI-related classes in the Java 2 platform
This book is part of the two-volume set of quick references that every Java programmer needs. It is an essential companion to Java in a Nutshell, 3rd Edition, which covers the key nongraphical APIs in Java 1.2. A third volume, Java Enterprise in a Nutshell, focuses on the Java Enterprise APIs and is of interest to programmers working on server-side or enterprise Java applications.

Table of contents

  1. Table of Contents
  2. Preface
    1. Contents of This Book
    2. Related Books
    3. Java Programming Resources Online
    4. Examples Online
    5. Conventions Used in This Book
    6. Request for Comments
    7. Acknowledgments
  3. Part I. Introducing the Java Foundation Classes
    1. Chapter 1. The Java Foundation Classes
    2. Chapter 2. Swing and AWT Architecture
      1. A Simple Graphical User Interface
      2. Components
      3. Properties
      4. Containers and Containment
      5. Layout Management
      6. Event Handling (1/2)
      7. Event Handling (2/2)
        1. Event Objects
        2. Event Listeners
        3. Event Adapters
        4. Event Handling with Inner Classes
        5. Handling Input Events Directly
        6. Event Reference
      8. Swing Component Architecture
    3. Chapter 3. Swing Programming Topics
      1. Versions of Swing
      2. Labels and HTML
      3. Actions
      4. Tooltips
      5. Timers
      6. The Event Dispatch Thread
      7. Client Properties
      8. Keyboard Shortcuts
        1. Focus Management
        2. Menu Mnemonics and Accelerators
        3. Keyboard Actions
        4. Keymaps
        5. Serialization
      9. Borders
      10. Icons
      11. Cursors
      12. Double-Buffering
      13. The Box Container
        1. Minimum, Preferred, and Maximum Sizes
        2. The Other Dimension
      14. Simple Dialogs
        1. Message Dialogs
        2. Confirm Dialogs
        3. Input Dialogs
      15. JFileChooser
        1. Using File Filters
        2. Customizing JFileChooser
      16. JColorChooser
      17. Menus
      18. JTree and TreeModel
      19. JTable and TableModel
      20. JTextComponent and HTML Text Display
      21. Pluggable Look-and-Feel
        1. Using Themes with the Metal Look-and-Feel
        2. Auxiliary Look-and-Feels
      22. Accessibility
      23. Custom Components
        1. Properties
        2. Events
        3. Constructors
        4. Drawing the Component
        5. Handling Events
        6. Component Size
        7. Accessibility
        8. Miscellaneous Methods
    4. Chapter 4. Graphics with AWTand Java 2D
      1. Graphics Before Java 2D
        1. Line Drawing
        2. Colors
        3. Fonts
        4. Font Metrics
        5. Images
      2. Java 2D Graphics Attributes and Operations
      3. The Coordinate System
      4. Shapes
        1. Bezier Curves
        2. How Shapes Are Implemented
      5. Stroking Lines
        1. BasicStroke
        2. How a Stroke Works
      6. Paint
      7. Blending Colors with AlphaComposite (1/2)
      8. Blending Colors with AlphaComposite (2/2)
        1. Transparent Colors and the Alpha Channel
        2. Drawing with Translucent Colors
        3. The AlphaComposite Compositing Rules
      9. Rendering Hints
      10. Fonts and Text
        1. Available Fonts
        2. Font Attributes
        3. Transforming Fonts
        4. Text-Rendering Hints
        5. Measuring Text and Fonts
        6. Advanced Text Drawing
        7. Text Art with Font Glyphs
      11. Buffered Images
        1. Obtaining a BufferedImage
        2. Drawing a BufferedImage
        3. Drawing into a BufferedImage
        4. Manipulating Pixels of a BufferedImage
        5. Inside a BufferedImage
        6. Processing a BufferedImage
      12. Transformations with AffineTransform
        1. Setting Up an AffineTransform
        2. Performing Transformations
        3. The Mathematics of AffineTransform
      13. Color Spaces
    5. Chapter 5. Printing
      1. Printing in Java 1.1
      2. Printing in Java 1.2 (1/2)
      3. Printing in Java 1.2 (2/2)
        1. Printing Single-Page Objects
        2. Printing Multipage Documents
        3. Efficiency Issues in the Java 1.2 Printing API
    6. Chapter 6. Data Transfer
      1. The Data Transfer Framework
        1. The DataFlavor Class
        2. The Transferable Interface
      2. Cut-and-Paste
      3. Drag-and-Drop
      4. A Data Source
      5. A Data Sink
    7. Chapter 7. Applets
      1. Writing Applets
        1. A Simple Applet
        2. Applets and the Java 1.0 Event Model
      2. Including Applets in HTML Files
        1. The Tag
        2. Using Applet JAR Files
        3. Using Applets with the Java Plug-in
      3. Applet Security
        1. Local Applets
        2. Signed Applets
  4. Part II. API Quick Reference
    1. How To Use ThisQuick Reference
      1. Finding a Quick Reference Entry
      2. Reading a Quick Reference Entry
        1. Class Name, Package Name, Availability, and Flags
        2. Descr iption
        3. Synopsis
          1. Member availability and flags
          2. Functional grouping of members
        4. Class Hierarchy
        5. Cross References
        6. A Note About Class Names
    2. Chapter 8. The java.applet Package
    3. Chapter 9. The java.awt Package (1/16)
    4. Chapter 9. The java.awt Package (2/16)
    5. Chapter 9. The java.awt Package (3/16)
    6. Chapter 9. The java.awt Package (4/16)
    7. Chapter 9. The java.awt Package (5/16)
    8. Chapter 9. The java.awt Package (6/16)
    9. Chapter 9. The java.awt Package (7/16)
    10. Chapter 9. The java.awt Package (8/16)
    11. Chapter 9. The java.awt Package (9/16)
    12. Chapter 9. The java.awt Package (10/16)
    13. Chapter 9. The java.awt Package (11/16)
    14. Chapter 9. The java.awt Package (12/16)
    15. Chapter 9. The java.awt Package (13/16)
    16. Chapter 9. The java.awt Package (14/16)
    17. Chapter 9. The java.awt Package (15/16)
    18. Chapter 9. The java.awt Package (16/16)
    19. Chapter 10. The java.awt.color Package (1/2)
    20. Chapter 10. The java.awt.color Package (2/2)
    21. Chapter 11. The java.awt.datatransfer Package (1/2)
    22. Chapter 11. The java.awt.datatransfer Package (2/2)
    23. Chapter 12. The java.awt.dnd Package (1/4)
    24. Chapter 12. The java.awt.dnd Package (2/4)
    25. Chapter 12. The java.awt.dnd Package (3/4)
    26. Chapter 12. The java.awt.dnd Package (4/4)
    27. Chapter 13. The java.awt.dnd.peer Package
    28. Chapter 14. The java.awt.event Package (1/5)
    29. Chapter 14. The java.awt.event Package (2/5)
    30. Chapter 14. The java.awt.event Package (3/5)
    31. Chapter 14. The java.awt.event Package (4/5)
    32. Chapter 14. The java.awt.event Package (5/5)
    33. Chapter 15. The java.awt.font Package (1/3)
    34. Chapter 15. The java.awt.font Package (2/3)
    35. Chapter 15. The java.awt.font Package (3/3)
    36. Chapter 16. The java.awt.geom Package (1/6)
    37. Chapter 16. The java.awt.geom Package (2/6)
    38. Chapter 16. The java.awt.geom Package (3/6)
    39. Chapter 16. The java.awt.geom Package (4/6)
    40. Chapter 16. The java.awt.geom Package (5/6)
    41. Chapter 16. The java.awt.geom Package (6/6)
    42. Chapter 17. The java.awt.im Package
    43. Chapter 18. The java.awt.image Package (1/8)
    44. Chapter 18. The java.awt.image Package (2/8)
    45. Chapter 18. The java.awt.image Package (3/8)
    46. Chapter 18. The java.awt.image Package (4/8)
    47. Chapter 18. The java.awt.image Package (5/8)
    48. Chapter 18. The java.awt.image Package (6/8)
    49. Chapter 18. The java.awt.image Package (7/8)
    50. Chapter 18. The java.awt.image Package (8/8)
    51. Chaapter 19. The java.awt.image.renderable Package
    52. Chapter 20. The java.awt.peer Package (1/2)
    53. Chapter 20. The java.awt.peer Package (2/2)
    54. Chapter 21. The java.awt.print Package (1/2)
    55. Chapter 21. The java.awt.print Package (2/2)
    56. Chapter 22. The javax.accessibility Package (1/3)
    57. Chapter 22. The javax.accessibility Package (2/3)
    58. Chapter 22. The javax.accessibility Package (3/3)
    59. Chapter 23. The javax.swing Package (1/24)
    60. Chapter 23. The javax.swing Package (2/24)
    61. Chapter 23. The javax.swing Package (3/24)
    62. Chapter 23. The javax.swing Package (4/24)
    63. Chapter 23. The javax.swing Package (5/24)
    64. Chapter 23. The javax.swing Package (6/24)
    65. Chapter 23. The javax.swing Package (7/24)
    66. Chapter 23. The javax.swing Package (8/24)
    67. Chapter 23. The javax.swing Package (9/24)
    68. Chapter 23. The javax.swing Package (10/24)
    69. Chapter 23. The javax.swing Package (11/24)
    70. Chapter 23. The javax.swing Package (12/24)
    71. Chapter 23. The javax.swing Package (13/24)
    72. Chapter 23. The javax.swing Package (14/24)
    73. Chapter 23. The javax.swing Package (15/24)
    74. Chapter 23. The javax.swing Package (16/24)
    75. Chapter 23. The javax.swing Package (17/24)
    76. Chapter 23. The javax.swing Package (18/24)
    77. Chapter 23. The javax.swing Package (19/24)
    78. Chapter 23. The javax.swing Package (20/24)
    79. Chapter 23. The javax.swing Package (21/24)
    80. Chapter 23. The javax.swing Package (22/24)
    81. Chapter 23. The javax.swing Package (23/24)
    82. Chapter 23. The javax.swing Package (24/24)
    83. Chapter 24. The javax.swing.border Package (1/2)
    84. Chapter 24. The javax.swing.border Package (2/2)
    85. Chapter 25. The javax.swing.color chooser Package
    86. Chapter 26. The javax.swing.event Package (1/5)
    87. Chapter 26. The javax.swing.event Package (2/5)
    88. Chapter 26. The javax.swing.event Package (3/5)
    89. Chapter 26. The javax.swing.event Package (4/5)
    90. Chapter 26. The javax.swing.event Package (5/5)
    91. Chapter 27. The javax.swing.filechooser Package
    92. Chapter 28. The javax.swing.plaf Package (1/3)
    93. Chapter 28. The javax.swing.plaf Package (2/3)
    94. Chapter 28. The javax.swing.plaf Package (3/3)
    95. Chapter 29. The javax.swing.table Package (1/3)
    96. Chapter 29. The javax.swing.table Package (2/3)
    97. Chapter 29. The javax.swing.table Package (3/3)
    98. Chapter 30. The javax.swing.text Package (1/11)
    99. Chapter 30. The javax.swing.text Package (2/11)
    100. Chapter 30. The javax.swing.text Package (3/11)
    101. Chapter 30. The javax.swing.text Package (4/11)
    102. Chapter 30. The javax.swing.text Package (5/11)
    103. Chapter 30. The javax.swing.text Package (6/11)
    104. Chapter 30. The javax.swing.text Package (7/11)
    105. Chapter 30. The javax.swing.text Package (8/11)
    106. Chapter 30. The javax.swing.text Package (9/11)
    107. Chapter 30. The javax.swing.text Package (10/11)
    108. Chapter 30. The javax.swing.text Package (11/11)
    109. Chapter 31. The javax.swing.text.html Package (1/5)
    110. Chapter 31. The javax.swing.text.html Package (2/5)
    111. Chapter 31. The javax.swing.text.html Package (3/5)
    112. Chapter 31. The javax.swing.text.html Package (4/5)
    113. Chapter 31. The javax.swing.text.html Package (5/5)
    114. Chapter 32. The javax.swing.text.html.par ser Package (1/2)
    115. Chapter 32. The javax.swing.text.html.par ser Package (2/2)
    116. Chapter 33. The javax.swing.text.rtf Package
    117. Chapter 34. The javax.swing.tree Package (1/4)
    118. Chapter 34. The javax.swing.tree Package (2/4)
    119. Chapter 34. The javax.swing.tree Package (3/4)
    120. Chapter 34. The javax.swing.tree Package (4/4)
    121. Chapter 35. The javax.swing.undo Package (1/2)
    122. Chapter 35. The javax.swing.undo Package (2/2)
    123. Chapter 36. Class Index (1/3)
    124. Chapter 36. Class Index (2/3)
    125. Chapter 36. Class Index (3/3)
    126. Index
      1. A
      2. B
      3. C
      4. D
      5. E
      6. F
      7. G
      8. H
      9. I
      10. J
      11. K
      12. L
      13. M
      14. N
      15. O
      16. P
      17. Q
      18. R
      19. S
      20. T
      21. U
      22. V
      23. W
    127. About the Author
    128. Colophon
    129. Other Titles Available from O’Reilly
    130. How to stay in touch with O’Reilly

Product information

  • Title: Java Foundation Classes in a Nutshell
  • Author(s): David Flanagan
  • Release date: October 1999
  • Publisher(s): O'Reilly Media, Inc.
  • ISBN: 9780596805364