(Optional) GUI and Graphics Case Study: Using Dialog Boxes

(Optional) GUI and Graphics Case Study Using Dialog Boxes


This case study is designed for those who want to begin learning Java's powerful capabilities for creating graphical user interfaces (GUIs) and graphics earlier in the book than the main discussions of these topics in Chapter 11, GUI Components: Part 1, Chapter 12, Graphics and Java2D, and Chapter 22, GUI Components: Part 2.

The GUI and Graphics Case Study appears in 10 brief sections (Fig. 3.16). Each section introduces a few basic concepts and provides visual, graphical examples and full source code. In the first few sections, you create your first graphical applications. In the following sections, you use the object-oriented programming concepts presented through Chapter 10 to create a drawing application that draws a variety of shapes. When we formally introduce GUIs in Chapter 11, we use the mouse to choose exactly which shapes to draw and where to draw them. In Chapter 12, we add capabilities of the Java 2D graphics API to draw the shapes with different line thicknesses and fills. We hope you will find this case study informative and entertaining.

Figure 3.16. Summary of the GUI and Graphics Case Study in each chapter.



Section 3.9

Using Dialog BoxesBasic input and output with dialog boxes

Section 4.14

Creating Simple DrawingsDisplaying and drawing lines on the screen

Section 5.10

Drawing Rectangles and OvalsUsing shapes to represent data

Section 6.13

Colors and Filled ShapesDrawing a bull's-eye and random graphics

Section 7.13

Drawing ArcsDrawing spirals with arcs

Section 8.18

Using Objects with GraphicsStoring shapes as objects

Section 9.8

Displaying Text and Images Using LabelsProviding status information

Section 10.8

Drawing with PolymorphismIdentifying the similarities between shapes

Exercise 11.18

Expanding the InterfaceUsing GUI components and event handling

Exercise 12.12

Adding Java 2DUsing the Java 2D API to enhance drawings


Displaying Text in a Dialog Box

Although the programs presented in this book thus far display output in the command window, many Java applications use windows or dialog boxes (also called dialogs) to display output. For example, World Wide Web browsers such as Netscape or Microsoft Internet Explorer display Web pages in their own windows. E-mail programs allow you to type and read messages in a window. Typically, dialog boxes are windows in which programs display important messages to the user of the program. Class JOptionPane provides prepackaged dialog boxes that enable programs to display windows containing messages to userssuch windows are called message dialogs. Figure 3.17 displays the string "Welcome to Java" in a message dialog.

Figure 3.17. Using JOptionPane to display multiple lines in a dialog box.

 1 // Fig. 3.17: Dialog1.java
 2 // Printing multiple lines in dialog box.
 3 import javax.swing.JOptionPane; // import class JOptionPane
 5 public class Dialog1
 6 {
 7 public static void main( String args[] )
 8 {
 9 // display a dialog with the message
10 JOptionPane.showMessageDialog( null, "Welcome
Java" );
11 } // end main
12 } // end class Dialog1

Line 3 indicates that our program uses class JOptionPane from package javax.swing. This package contains many classes that help Java programmers create graphical user interfaces (GUIs) for applications. GUI components facilitate data entry by a program's user, and formatting or presenting data outputs to the user. In method main, line 10 calls method showMessageDialog of class JOptionPane to display a dialog box containing a message. The method requires two arguments. The first argument helps the Java application determine where to position the dialog box. When the first argument is null, the dialog box appears in the center of the computer screen. The second argument is the String to display in the dialog box.

Method showMessageDialog is a special method of class JOptionPane called a static method. Such methods often define frequently used tasks that do not explicitly require creating an object. For example, many programs display messages to users in dialog boxes. Rather than require programmers to create code that performs this task, the designers of Java's JOptionPane class declared a static method for this purpose. Now, with a simple method call, all programmers can make a program display a dialog box containing a message. A static method typically is called by using its class name followed by a dot (.) and the method name, as in

ClassName.methodName( arguments )

Chapter 6, Methods: A Deeper Look will cover calling static methods in greater detail.

Entering Text in a Dialog Box

Our next application (Fig. 3.18) demonstrates input using dialogs. This program uses another predefined dialog box from class JOptionPane called an input dialog that allows the user to enter data for use in the program. The program asks for the user's name and responds with a greeting containing the name entered by the user.

Figure 3.18. Obtaining user input from a dialog.

(This item is displayed on pages 106 - 107 in the print version)

 1 // Fig. 3.18: NameDialog.java
 2 // Basic input with a dialog box.
 3 import javax.swing.JOptionPane;
 5 public class NameDialog
 6 {
 7 public static void main( String args[] )
 8 {
 9 // prompt user to enter name
10 String name = 
11  JOptionPane.showInputDialog( "What is your name?" );
13 // create the message
14 String message = 
15  String.format( "Welcome, %s, to Java Programming!", name );
17 // display the message to welcome the user by name
18 JOptionPane.showMessageDialog( null, message );
19 } // end main
20 } // end class NameDialog

Lines 1011 use method showInputDialog of class JOptionPane to display a simple input dialog containing a prompt and a field for the user to enter text, known as a text field. The argument to showInputDialog is the prompt that indicates what the user should enter. The user types characters in the text field, then clicks the OK button or presses the Enter key to return the String to the program. Method showInputDialog returns a String containing the characters typed by the user, which we store in variable name. [Note: If you press the Cancel button in the dialog, the method returns null and the program displays the word "null" as the name.]

Lines 1415 use static String method format to return a String containing a greeting with the name entered by the user. Method format is similar to method System.out.printf, except that format returns a formatted String rather than displaying it in a command window. Line 18 displays the greeting in a message dialog.

GUI and Graphics Case Study Exercise


Modify the addition program in Fig. 2.7 to use dialog-based input with JOptionPane instead of console-based input using Scanner. Since method showInputDialog only returns a String, you must convert the String the user enters to an int for use in calculations. Method Integer.parseInt( String s ) takes a String argument representing an integer (e.g., the result of JOptionPane.showInputDialog) and returns the value as an int. If the String does not contain a valid integer, then the program will terminate with an error.

Introduction to Computers, the Internet and the World Wide Web

Introduction to Java Applications

Introduction to Classes and Objects

Control Statements: Part I

Control Statements: Part 2

Methods: A Deeper Look


Classes and Objects: A Deeper Look

Object-Oriented Programming: Inheritance

Object-Oriented Programming: Polymorphism

GUI Components: Part 1

Graphics and Java 2D™

Exception Handling

Files and Streams


Searching and Sorting

Data Structures



Introduction to Java Applets

Multimedia: Applets and Applications

GUI Components: Part 2



Accessing Databases with JDBC


JavaServer Pages (JSP)

Formatted Output

Strings, Characters and Regular Expressions

Appendix A. Operator Precedence Chart

Appendix B. ASCII Character Set

Appendix C. Keywords and Reserved Words

Appendix D. Primitive Types

Appendix E. (On CD) Number Systems

Appendix F. (On CD) Unicode®

Appendix G. Using the Java API Documentation

Appendix H. (On CD) Creating Documentation with javadoc

Appendix I. (On CD) Bit Manipulation

Appendix J. (On CD) ATM Case Study Code

Appendix K. (On CD) Labeled break and continue Statements

Appendix L. (On CD) UML 2: Additional Diagram Types

Appendix M. (On CD) Design Patterns

Appendix N. Using the Debugger

Inside Back Cover

Java(c) How to Program
Java How to Program (6th Edition) (How to Program (Deitel))
ISBN: 0131483986
EAN: 2147483647
Year: 2003
Pages: 615

Flylib.com © 2008-2020.
If you may any questions please contact us: flylib@qtcs.net