Presentation is loading. Please wait.

Presentation is loading. Please wait.

Chapter 13: Advanced GUIs and Graphics

Similar presentations


Presentation on theme: "Chapter 13: Advanced GUIs and Graphics"— Presentation transcript:

1 Chapter 13: Advanced GUIs and Graphics
Java Programming: Program Design Including Data Structures

2 Chapter Objectives Learn about applets Explore the class Graphics
Learn about the class Font Explore the class Color Java Programming: Program Design Including Data Structures

3 Chapter Objectives (continued)
Learn to use additional layout managers Become familiar with more GUI components Learn how to create menu-based programs Explore how to handle key and mouse events Java Programming: Program Design Including Data Structures

4 Inheritance Hierarchy of GUI Classes
Java Programming: Program Design Including Data Structures

5 Constructors and Methods of the class Component
Java Programming: Program Design Including Data Structures

6 Constructors and Methods of the class Component
Java Programming: Program Design Including Data Structures

7 Constructors and Methods of the class Component
Java Programming: Program Design Including Data Structures

8 Constructors and Methods of the class Component
Java Programming: Program Design Including Data Structures

9 Applets A Java program that is embedded within a Web page and executed by a Web browser Create an applet by extending the class JApplet class JApplet is contained in package javax.swing Java Programming: Program Design Including Data Structures

10 Applets Java Programming: Program Design Including Data Structures

11 Applets (continued) Java Programming: Program Design Including Data Structures

12 Applets (continued) No main method
Methods init, start, and paint guaranteed to be invoked in sequence To develop an applet: Override any/all of the methods above Java Programming: Program Design Including Data Structures

13 Applet Methods init method: paint method: Initializes variables
Gets data from user Places various GUI components paint method: Performs output Java Programming: Program Design Including Data Structures

14 Skeleton of a Java Applet
import java.awt.Graphics; import javax.swing.JApplet; public class WelcomeApplet extends JApplet { } Java Programming: Program Design Including Data Structures

15 Applet Displaying Welcome Message
//Welcome Applet import java.awt.Graphics; import javax.swing.JApplet; public class WelcomeApplet extends JApplet { public void paint(Graphics g) super.paint(g); //Line 1 g.drawString("Welcome to Java Programming" , 30, 30); //Line 2 } Java Programming: Program Design Including Data Structures

16 HTML to Run Applet Java Programming: Program Design Including Data Structures

17 class Font Shows text in different fonts Contained in package java.awt
Available fonts: Serif/Sans Serif Monospaced Dialog/DialogInput Arguments for constructor: String specifying the font face name int value specifying font style int value specifying font size Expressed in points (72 points = 1 inch) Java Programming: Program Design Including Data Structures

18 class Font (continued)
Java Programming: Program Design Including Data Structures

19 class Color Shows text in different colors
Changes background color of component Contained in package java.awt Java Programming: Program Design Including Data Structures

20 class Color (continued)
Java Programming: Program Design Including Data Structures

21 class Color (continued)
Java Programming: Program Design Including Data Structures

22 class Color (continued)
Java Programming: Program Design Including Data Structures

23 class Graphics Provides methods for drawing items such as lines, ovals, and rectangles on the screen Contains methods to set the properties of graphic elements including clipping areas, fonts, and colors Contained in the package java.awt Java Programming: Program Design Including Data Structures

24 class Graphics Java Programming: Program Design Including Data Structures

25 Constructors and Methods for the class Graphics
Java Programming: Program Design Including Data Structures

26 Constructors and Methods for the class Graphics
Java Programming: Program Design Including Data Structures

27 Constructors and Methods for the class Graphics
Java Programming: Program Design Including Data Structures

28 Constructors and Methods for the class Graphics
Java Programming: Program Design Including Data Structures

29 Differences Between Applets and GUI Applications
Derived from JApplet No main method Uses init method Displayed by HTML Sets title in HTML Size set in HTML Applet closes when HTML doc closes GUI applications Class extends JFrame Invokes main method Uses constructors Uses method setVisible Uses setTitle method Uses method setSize Closes with Exit button Java Programming: Program Design Including Data Structures

30 Converting a GUI Application to an Applet
Change JFrame to JApplet Change constructor to method init Remove method calls such as setVisible, setTitle, setSize Remove the method main If applicable, remove Exit button and all code associated with it (for example, action listener) Java Programming: Program Design Including Data Structures

31 Additional GUI Components
JTextArea JCheckBox JRadioButton JComboBox JList Java Programming: Program Design Including Data Structures

32 JTextArea Can collect multiple lines of input from user
Can display multiple lines of output Pressing Enter key separates lines of text Each line ends with newline character (\n) Derived from class JTextComponent Java Programming: Program Design Including Data Structures

33 JTextArea Java Programming: Program Design Including Data Structures

34 JTextArea (continued)
Java Programming: Program Design Including Data Structures

35 JTextArea Example Java Programming: Program Design Including Data Structures

36 JCheckBox User selects from predefined values
Example of a toggle button Clicking JCheckBox generates item event Use interface ItemListener and its abstract method itemStateChanged to handle event Java Programming: Program Design Including Data Structures

37 JCheckBox Java Programming: Program Design Including Data Structures

38 Constructors and Methods of class JCheckBox
Java Programming: Program Design Including Data Structures

39 Constructors and Methods of class JCheckBox
Java Programming: Program Design Including Data Structures

40 JRadioButton Created same way as check boxes
Placed in content pane of applet Forces user to select only one radion button at a time You create a button group to group radio buttons Generates an ItemEvent interface ItemListener and method itemStateChanged used to handle events Java Programming: Program Design Including Data Structures

41 JRadioButton Java Programming: Program Design Including Data Structures

42 JRadioButton Java Programming: Program Design Including Data Structures

43 JComboBox Commonly known as a drop-down list
Used to select an item from a list of possibilities Generates an ItemEvent Event monitored by ItemListener ItemListener invokes method itemStateChanged. Java Programming: Program Design Including Data Structures

44 JComboBox (continued)
Java Programming: Program Design Including Data Structures

45 JComboBox (continued)
Java Programming: Program Design Including Data Structures

46 JList Java Programming: Program Design Including Data Structures

47 JList (continued) Java Programming: Program Design Including Data Structures

48 Layout Managers FlowLayout GridLayout Default layout manager
Places components from left to right until no more items can be placed Can align each line left, center, or right Default alignment: LEFT GridLayout Similar to FlowLayout All rows (columns) have same number of components All components have the same size Java Programming: Program Design Including Data Structures

49 Layout Managers (continued)
BorderLayout Items placed into one of five specific regions: NORTH/SOUTH EAST/WEST CENTER NORTH and SOUTH components extend horizontally (completely span one edge to the other) EAST and WEST components extend vertically between components in NORTH and SOUTH regions CENTER component expands to occupy any unused regions Java Programming: Program Design Including Data Structures

50 Menus Allow for various functions without cluttering GUI with too many components Can be attached to objects such as JFrame and JApplet (setJMenuBar method) To set a menu bar: private JMenuBar menuMB = new JMenuBar(); setJMenuBar(menuMB); Add menus to menu bar; add menu items to menu Order of menus added = order of appearance Java Programming: Program Design Including Data Structures

51 Keyboard and Mouse Events
Java Programming: Program Design Including Data Structures

52 Chapter Summary Creating applets class Font class Graphics class Color
Differences between applets and GUI applications Converting GUI applications to applets Java Programming: Program Design Including Data Structures

53 Chapter Summary (continued)
GUI components: JTextArea JCheckBox JRadioButton Layout managers Menus Keyboard and mouse events Java Programming: Program Design Including Data Structures


Download ppt "Chapter 13: Advanced GUIs and Graphics"

Similar presentations


Ads by Google