Title: Lecture 12 Objectives
1Lecture 12 Objectives
- Learn about applets.
- Explore the class Graphics.
- Learn about the class Font.
- Explore the class Color.
- 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.
2Inheritance Hierarchy of GUI Classes
3Constructors and Methods of the class Component
4Constructors and Methods of the class Component
5Constructors and Methods of the class Component
6Constructors and Methods of the class Component
7Applets
- 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.
8Applets
9Applets
10Applets
- 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.
11Applet Methods
- init method
- Initializes variables.
- Gets data from user.
- Places various GUI components.
- paint method
- Performs output.
12Skeleton of a Java Applet
import java.awt.Graphics import
javax.swing.JApplet public class WelcomeApplet
extends JApplet
13Applet Displaying Welcome Message
//Welcome Applet import java.awt.Graphics impor
t 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
14HTML to Run Applet
15class 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) .
16class Font
17class Color
- Shows text in different colors.
- Changes background color of component.
- Contained in package java.awt.
18class Color
19class Color
20class Color
21class 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.
22class Graphics
23Constructors and Methods for the class Graphics
24Constructors and Methods for the class Graphics
25Constructors and Methods for the class Graphics
26Constructors and Methods for the class Graphics
27Differences Between Applets and GUI Applications
- Applets
- 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.
28Converting 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).
29Additional GUI Components
- JTextArea
- JCheckBox
- JRadioButton
- JComboBox
- JList
30JTextArea
- 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.
31JTextArea
32JTextArea
33JTextArea Example
34JCheckBox
- 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.
35JCheckBox
36Constructors and Methods of class JCheckBox
37Constructors and Methods of class JCheckBox
38JRadioButton
- 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.
39JRadioButton
40JRadioButton
41JComboBox
- 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.
42JComboBox
43JComboBox
44JList
45JList
46Layout Managers
- FlowLayout
- 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.
47Layout Managers
- 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.
48Menus
- 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.
49Keyboard and Mouse Events
50Lecture 12 Summary
- Creating applets
- class Font
- class Graphics
- class Color
- Differences between applets and GUI applications
- Converting GUI applications to applets
51Lecture 12 Summary
- GUI components
- JTextArea
- JCheckBox
- JRadioButton
- Layout managers
- Menus
- Keyboard and mouse events