Introduction p. 1 Java Features p. 2 Java Expansion p. 4 Getting, Setting Up, and Using Java p. 5 The Java Language p. 5 Java Swing Components p. 6 Components, Containers, and Layour Management p. 6 Checkboxes, Lists, Menus, and Scrolling p. 6 Colors p. 6 Display Text in A Graphic Window p. 7 Working With Images p. 7 Viewing BMP Graphic Files p. 7 Animation p. 7 Creating Your Own Web Page p. 8 Plotting Points, Lines, and Rectangles p. 8 Clipping p. 8 User Interfaces p. 8 Drawing and Filling Polygons p. 8 Drawing Circles, Ellipses, and Arcs p. 9 Using Threads with Java p. 9 Parametric Cubic Curves p. 9 Three-Dimensional Modeling p. 9 More Advanced Web Pages p. 9 Commercial Java Packages p. 9 Getting, Setting Up, and Using Java 2 p. 11 Downloading the Java Developer's Kit p. 12 Expanding the JDK on Your System p. 13 Compiling a Program p. 14 Additional Graphics Setups p. 17 Classes Used by Two or More Other Classes p. 17 Packages p. 20 Java Resources p. 21 The Java Language p. 25 Java as an Object Oriented Language p. 26 Java as a Compiled and Interpreted Language p. 27 Java and Applets p. 28 Java as an Improvement over C++ p. 28 Java Language Structure p. 28 Java Data Types p. 29 Strings p. 30 Operators p. 30
Operator Precedence p. 35 Initializing Data Items p. 35 Using Arrays p. 37 Conditional Statements p. 38 Using Loops p. 40 The Math Class p. 43 The Random Class p. 43 Random Numbers in a Given Range p. 46 Java Swing Components p. 47 The Abstract Window Toolkit (AWT) p. 48 Java AWT Classes p. 49 Swing Components p. 49 Swing Classes p. 52 Why Use Swing Components p. 56 Running a Program as an Application or an Applet p. 57 Components, Containers, and Layout Management p. 59 Containers and Components p. 60 Using Frames p. 60 Java's New Event Handling p. 64 Using Java Swing Components p. 71 Applets p. 72 Programs that Run Either as an Application or an Applet p. 74 Layouts p. 75 The Border Layout p. 75 The Flow Layout p. 77 The Grid Layout p. 79 The Grid Bag Layout p. 81 The Card Layout p. 86 The Box Layout p. 91 Checkboxes, Lists, Menus, and Scrolling p. 95 Checkboxes p. 96 Using Radio Buttons p. 102 Using Icons with Check Boxes p. 105 Choice Boxes and Lists p. 108 Using Menus p. 112 Scrolling p. 117 Colors p. 123 How Java Defines colors p. 124 The Java Predefined colors p. 126 16-Color PC Displays p. 127 256 Color VGA Displays p. 128
Setting Colors p. 128 Color Gradients p. 129 Displaying Text in a Graphics Window p. 135 Drawing a Line of Characters p. 136 A Text Program p. 136 Selecting a Font p. 139 Text Positioning p. 141 Word Wrap with Java 2 p. 142 Building a Swing Text Menu Bar p. 146 Working with Images p. 151 The Graphics Interchange Format (GIF) p. 152 JPEG File Exchange Format p. 153 A Simple JPEG File Viewing Program p. 155 Creating Your Own Image File p. 156 A Java Program for Viewing GIF and JPG Files p. 165 The FileDialog Class p. 167 Using the Java Swing filechooser Class p. 167 Working with Images p. 172 The GIF and JPG Picture Viewing Program p. 172 Selecting the List of Files to be Displayed p. 173 Thumbnail Graphics Display p. 174 Displaying a Full-Sized Picture p. 175 Viewing BMP Files p. 177 The BMP File Format p. 178 The BMP File Header p. 178 Painting a BMP Picture with the Image Class p. 180 Animation p. 189 Animated GIF Files p. 190 An Advanced Animation Viewer p. 191 Using Sprites p. 194 Making Your Own Animation Files p. 195 Pseudo-Animation p. 195 Anfy Java p. 196 Creating Your Own Web Page p. 199 A Simple Web Page Program p. 200 Transferring Your Page to the Web p. 203 Plotting Points, Lines, and Rectangles p. 205 Drawing Lines p. 206 Drawing Rectangles p. 210 Drawing Lines with Java 2D p. 217 Anti-Aliasing p. 222
Dashed and Dotted Lines p. 222 Scaling, Rotating, Skewing, and Translating Lines p. 227 Clipping Techniques p. 235 Random Straight Lines p. 236 Using a Clipping Rectangle p. 238 Clipping with Java 2D p. 242 User Interfaces p. 247 The Mandelbrot Set p. 248 Observer and Observable p. 253 The Mandelbrot Display p. 255 A Simpler Mandelbrot Set Program p. 256 Working Between Two Graphics: The Julia Set p. 260 Drawing and Filling Polygons p. 267 The Polygon Drawing Method p. 268 Drawing Polygons with Java 2D p. 270 Drawing Complex Curves with the Polygon Class p. 273 Filling Polygons p. 276 Creating Filled Polygons with Java 2D p. 280 Using an Array to Supply Polygon Data p. 283 Drawing Circles, Ellipses, and Arcs p. 287 Drawing and Filling Ellipses p. 288 Drawing and Filling Circles p. 289 Wide Line Circles and Ellipses p. 289 Drawing and Filling Arcs p. 289 Random Circles, Ellipses, and Arcs p. 292 Balloons p. 299 Pie Chart p. 302 Tilted Ellipses p. 305 Using Threads with Java p. 309 A Viewing Program with Threads p. 311 Animated Ellipses p. 316 Parametric Cubic Curves p. 321 Parametric Cubic Polynomials p. 322 The Bezier Curve p. 323 Mathematics of the Bezier Curve p. 323 The Bezier Curve Program p. 324 The Literal Canvas Class p. 333 The ForwardCanvas Class p. 334 The decasteljaucanvas Class p. 335 The BernsteinCanvas Class p. 337 Bezier Curves with Java 2D p. 337
Animated Bezier Curves p. 340 Bezier Curves with Many Control Points p. 346 The B-Spline Curve p. 350 Converting Bezier Points to B-Spline Control Points p. 351 B-Spline Curves with Many Control Points p. 356 Three-Dimensional Modeling p. 361 The Painter's Algorithm p. 363 The Earth.java Program p. 363 The Solid4 Class p. 369 More Advanced Web Pages p. 379 Multiple Web Pages p. 387 The TitleCanvas Class p. 388 What's the Best Way to Draw a Graphic? p. 388 The Dragon2 Class p. 389 The AddressDialog Method p. 391 Returning Data to the Originating Site p. 391 Commercial Java Packages p. 393 The WinEdit Editor p. 395 Microsoft Visual J++ p. 395 Symantic Visual Cafe p. 397 Appendix p. 399 Index p. 403 Table of Contents provided by Blackwell's Book Services and R.R. Bowker. Used with permission.