Presentation is loading. Please wait.

Presentation is loading. Please wait.

Chapter 6: Graphical User Interface (GUI) and Object-Oriented Design (OOD) J ava P rogramming: Program Design Including Data Structures Program Design.

Similar presentations


Presentation on theme: "Chapter 6: Graphical User Interface (GUI) and Object-Oriented Design (OOD) J ava P rogramming: Program Design Including Data Structures Program Design."— Presentation transcript:

1 Chapter 6: Graphical User Interface (GUI) and Object-Oriented Design (OOD) J ava P rogramming: Program Design Including Data Structures Program Design Including Data Structures

2 Java Programming: Program Design Including Data Structures2 Chapter Objectives  Learn about basic GUI components  Explore how the GUI components JFrame, JLabel, JTextField, and JButton work  Become familiar with the concept of event-driven programming

3 Java Programming: Program Design Including Data Structures3 Chapter Objectives (continued)  Discover events and event handlers  Explore object-oriented design  Learn how to identify objects, classes, and members of a class

4 Java Programming: Program Design Including Data Structures4 Graphical User Interface (GUI) Components  View inputs and outputs simultaneously  One graphical window  Input values in any order  Change input values in window  Click buttons to get output

5 Java Programming: Program Design Including Data Structures5 Inheritance Hierarchy

6 Java Programming: Program Design Including Data Structures6 Java GUI Components

7 Java Programming: Program Design Including Data Structures7 Graphical User Interface (GUI) Components (continued)  GUI components placed in content pane  GUI components:  Windows  Labels  Text areas  Buttons

8 Java Programming: Program Design Including Data Structures8 GUI Components  Added to content pane of window  Not added to window itself  Pixel: A picture element

9 Java Programming: Program Design Including Data Structures9 Windows  Can be created using a Frame object  The class Frame provides various methods to control attributes of a window  Measured in pixels of height and width  Attributes associated with windows:  Title  Width  Height

10 Java Programming: Program Design Including Data Structures10 class JFrame  GUI window instance created as instance of Frame  Provides various methods to control window attributes

11 Java Programming: Program Design Including Data Structures11 Methods Provided by the class JFrame

12 Java Programming: Program Design Including Data Structures12 Methods Provided by the class JFrame (continued)

13 Java Programming: Program Design Including Data Structures13 Two Ways to Create a Window  First way:  Declare object of type JFrame  Instantiate object  Use various methods to manipulate window  Second way :  Create class-containing application program by extending definition of class JFrame  Utilize mechanism of inheritance

14 Java Programming: Program Design Including Data Structures14 Content Pane  Inner area of GUI window (below title bar, inside border)  To access content pane:  Declare reference variable of type Container  Use method getContentPane of class JFrame

15 Java Programming: Program Design Including Data Structures15 Methods Provided by the class Container

16 Java Programming: Program Design Including Data Structures16 class JLabel  Labels: Objects of a particular class type  class JLabel : Used to create labels  Label attributes:  Title  Width  Height  To create a label:  Instantiate object of type JLabel  Modify attributes to control display of labels

17 Java Programming: Program Design Including Data Structures17 Methods Provided by the class JLabel

18 Java Programming: Program Design Including Data Structures18 Methods Provided by the class JLabel (continued)

19 Java Programming: Program Design Including Data Structures19 class JTextField  Text fields: Objects belonging to class JTextField  To create a text field:  Declare reference variable of type JTextField  Instantiate object

20 Java Programming: Program Design Including Data Structures20 Methods Provided by the class JTextField (continued)

21 Java Programming: Program Design Including Data Structures21 class JButton  Provided to create buttons in Java  To create a button:  Use the same technique that is used to create JLabel and JTextField

22 Java Programming: Program Design Including Data Structures22 Methods Provided by the class JButton

23 Java Programming: Program Design Including Data Structures23 Methods Provided by the class JButton (continued)

24 Java Programming: Program Design Including Data Structures24 Handling an Event  Action event: created when JButton is clicked  Event listener: An object that receives a message when JButton is clicked  In Java, you must register the listener

25 Java Programming: Program Design Including Data Structures25 Handling an Event (continued)  class ActionListener  Handles action event  Part of package java.awt.Event  The class ActionListener is a special type of class (interface)  Must contain the actionPerformed method

26 Java Programming: Program Design Including Data Structures26 Rectangle Program: Sample Run

27 Java Programming: Program Design Including Data Structures27 Programming Example: Temperature Conversion  Input: Temperature in Fahrenheit or Celsius  Output: Temperature in Celsius if input is Fahrenheit; temperature in Fahrenheit if input is Celsius

28 Java Programming: Program Design Including Data Structures28 Programming Example: Temperature Conversion (continued) Solution: 1.Create the appropriate JLabels, JTextFields, JButtons 2.Add them to the created content pane 3.Calculate the appropriate conversions when the buttons are clicked and an event is triggered

29 Java Programming: Program Design Including Data Structures29 Sample Run for TempConversion

30 Java Programming: Program Design Including Data Structures30 Object-Oriented Design Simplified methodology: 1.Write down detailed description of problem 2.Identify all (relevant) nouns and verbs 3.From list of nouns, select objects 4.Identify data components of each object 5.From list of verbs, select operations

31 Java Programming: Program Design Including Data Structures31 Object-Oriented Design: Example 1  Problem statement:  Write a program to input the length and width of a rectangle, and calculate and print the perimeter and area of the rectangle  Nouns:  Length, width, rectangle, perimeter, area

32 Java Programming: Program Design Including Data Structures32 class Rectangle with Data Members and Operations

33 Java Programming: Program Design Including Data Structures33 Object-Oriented Design: Example 2 A place to buy candy is from a candy machine. A new candy machine is bought for the gym, but it is not working properly. The candy machine has four dispensers to hold and release items sold by the candy machine and a cash register. The machine sells four products —candies, chips, gum, and cookies—each of which is stored in a separate dispenser. You have been asked to write a program for this candy machine so that it can be put into operation.

34 Java Programming: Program Design Including Data Structures34 Object-Oriented Design: Example 2 The program should do the following:  Show the customer the different products sold by the candy machine  Let the customer make the selection  Show the customer the cost of the item selected  Accept money from the customer  Return change  Release the item, that is, make the sale

35 Java Programming: Program Design Including Data Structures35 Object-Oriented Design: Example 2

36 Java Programming: Program Design Including Data Structures36 Object-Oriented Design: Example 2

37 Java Programming: Program Design Including Data Structures37 Implementing Classes and Operations  Algorithms are used to implement operations  Construct and implement your own methods  Classes Integer, Double, Character, Long, Float :  Known as wrapper classes  Provided so that values of primitive data types can be treated as objects  Have limitations (cannot change value stored in objects)

38 Java Programming: Program Design Including Data Structures38 The class Integer

39 Java Programming: Program Design Including Data Structures39 The class Integer (continued)

40 Java Programming: Program Design Including Data Structures40 The class Integer (continued) Integer num; num = new Integer(86)

41 Java Programming: Program Design Including Data Structures41 The class Integer (continued) int x; Integer num; num = 25; This statement is equivalent to the statement: num = new Integer(25); The expression: num = 25; is referred to as autoboxing of the int type.

42 Java Programming: Program Design Including Data Structures42 The class Integer (continued) int x; Integer num; The statement: x = num; This statement is equivalent to the statement: x = num.intValue(); This statement is referred to as auto unboxing of the int type.

43 Java Programming: Program Design Including Data Structures43 The class Integer (continued)  To compare the values of two Integer objects, you can use the method compareTo  If you want to compare the values of two Integer objects only for equality, then you can use the method equals

44 Java Programming: Program Design Including Data Structures44 The class IntClass

45 Java Programming: Program Design Including Data Structures45 The class IntClass (continued)

46 Java Programming: Program Design Including Data Structures46 Chapter Summary  Every GUI contains a window  Various components are added to the content pane of a window  class Frame is used to create windows  JLabel is used to label GUI components and display information to user  JTextField is used for input/output  JButton generates action event  Action event is sent to action listener  Action listener must have method called actionPerformed

47 Java Programming: Program Design Including Data Structures47 Chapter Summary (continued)  A class is a collection of data members and methods associated with those members.  Object-oriented design (OOD):  Starts with a problem statement.  Identifies required classes with nouns in problem statement.  Identifies required methods with verbs in problem statement.


Download ppt "Chapter 6: Graphical User Interface (GUI) and Object-Oriented Design (OOD) J ava P rogramming: Program Design Including Data Structures Program Design."

Similar presentations


Ads by Google