0% found this document useful (0 votes)
54 views34 pages

Java Programming: From Problem Analysis To Program Design, 5e

This document discusses graphical user interface (GUI) components in Java programming. It describes how GUI components like windows, labels, text fields and buttons can be created using classes like JFrame, JLabel, JTextField, and JButton. It also explains how to add these components to the content pane of a window and handle events like button clicks by implementing listener interfaces and registering listener objects.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
54 views34 pages

Java Programming: From Problem Analysis To Program Design, 5e

This document discusses graphical user interface (GUI) components in Java programming. It describes how GUI components like windows, labels, text fields and buttons can be created using classes like JFrame, JLabel, JTextField, and JButton. It also explains how to add these components to the content pane of a window and handle events like button clicks by implementing listener interfaces and registering listener objects.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 34

Java Programming: From

Problem Analysis to Program


Design, 5e
Graphical User Interface
Event Handling
Graphical User Interface (GUI) Components
• View inputs and outputs simultaneously
• One graphical window
• Input values in any order
• Change input values in window
• Click on buttons to get output

Java Programming: From Problem Analysis to


2
Program Design, 5e
Java GUI Components

Java Programming: From Problem Analysis to


3
Program Design, 5e
Graphical User Interface (GUI) Components
(continued)
• GUI components placed in content pane
• GUI components
• Windows
• Labels
• Text areas
• Buttons

Java Programming: From Problem Analysis to


4
Program Design, 5e
GUI Components
• Added to content pane of window
• Not added to window itself
• Pixel: picture element

Java Programming: From Problem Analysis to


5
Program Design, 5e
Windows
• Can be created using a JFrame object
• The class JFrame provides various methods to control attributes of a
window
• Measured in pixels of height and width
• Attributes associated with windows
• Title
• Width
• Height

Java Programming: From Problem Analysis to


6
Program Design, 5e
class JFrame
• GUI window instance created as instance of JFrame
• Provides various methods to control window attributes

Java Programming: From Problem Analysis to


7
Program Design, 5e
Methods Provided by the class JFrame

Java Programming: From Problem Analysis to


8
Program Design, 5e
Methods Provided by the class Jframe (continued)

Java Programming: From Problem Analysis to


9
Program Design, 5e
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
• Utilizes mechanism of inheritance

Java Programming: From Problem Analysis to


10
Program Design, 5e
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

Java Programming: From Problem Analysis to


11
Program Design, 5e
Methods Provided by the class Container

Java Programming: From Problem Analysis to


12
Program Design, 5e
class JLabel
• Labels: objects of 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

Java Programming: From Problem Analysis to


13
Program Design, 5e
class Jlabel (continued)

14
Java Programming: From Problem Analysis to Program Design, 5e
class JTextField
• Text fields: objects belonging to class JTextField
• To create text field:
• Declare reference variable of type JTextField
• Instantiate object

Java Programming: From Problem Analysis to


15
Program Design, 5e
class JTextField (continued)

Java Programming: From Problem Analysis to


16
Program Design, 5e
class JTextField (continued)

Java Programming: From Problem Analysis to


17
Program Design, 5e
class JButton
• Provided to create buttons in Java
• To create button:
• Same technique as creating JLabel and JTextField

Java Programming: From Problem Analysis to


18
Program Design, 5e
class Jbutton (continued)

Java Programming: From Problem Analysis to


19
Program Design, 5e
Handling an Event
• Action event: event created when JButton is
clicked
• Event listener: object that receives message when
JButton is clicked
• In Java, you must register the listener

Java Programming: From Problem Analysis to


20
Program Design, 5e
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 actionPerformed method

Java Programming: From Problem Analysis to


21
Program Design, 5e
Rectangle Program: Sample Run

Java Programming: From Problem Analysis to


22
Program Design, 5e
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

Java Programming: From Problem Analysis to


23
Program Design, 5e
Programming Example: Temperature
Conversion (continued)
• Solution
• Create the appropriate JLabels, JTextFields, JButtons
• Add them to the created content pane
• Calculate the appropriate conversions when the buttons are clicked and an
event is triggered

Java Programming: From Problem Analysis to


24
Program Design, 5e
Sample Run for TempConversion

Java Programming: From Problem Analysis to


25
Program Design, 5e
Quick Quiz
1. True or False: The method setTitle is part of the class
JFrame.
2. GUI components are placed in an area of the GUI window
called the __________.
3. True or False: The class Container is part of the package
javax.swing.
4. A subclass inherits all the properties of the __________.
5. When a button in the GUI is clicked, a(n) __________ has
occurred.
1. True 
2. content pane
3. False
4. superclass
5. event
Event Handling
• Action events
• Handled by implementing interface ActionListener
• Window events
• Handled by implementing interface WindowListener
• Mouse events
• Handled by implementing interface MouseListener
• Key events
• Handled by implementing interface KeyListener
Java Programming: From Problem Analysis to
28
Program Design, 5e
Event Handling (continued)
• class WindowAdapter
• Implements interface WindowListener with empty bodies to
methods
• class MouseAdapter
• Implements interface MouseListener with empty bodies to methods

Java Programming: From Problem Analysis to


29
Program Design, 5e
Registering Listeners
• Registering window listener object to GUI component
• Use method addWindowListener
• Window listener object being registered is passed as parameter
to method addWindowListener
• Registering mouse listener object to GUI component
• Use method addMouseListener
• Mouse listener object being registered is passed as parameter to
method addMouseListener

Java Programming: From Problem Analysis to


30
Program Design, 5e
Event Handling (continued)

Java Programming: From Problem Analysis to


31
Program Design, 5e
Event Handling (continued)

Java Programming: From Problem Analysis to


32
Program Design, 5e
Event Handling (continued)

Java Programming: From Problem Analysis to


33
Program Design, 5e
Programming Example: Calculator

Java Programming: From Problem Analysis to


34
Program Design, 5e

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy