java programming applets. topics write an html document to host an applet understand simple applets...
TRANSCRIPT
Java Programming
Applets
Topics
Write an HTML document to host an applet
Understand simple applets
Use Labels with simple AWT applets
Write a simple Swing applet and use a JLabel
Add JTextField and JButton Components to Swing applets
Learn about event-driven programming
Add output to a Swing applet
Understand the Swing applet life cycle
Create a more sophisticated interactive Swing applet
Use the setLocation() and setEnabled() methods
To Write a Java Application:
Write the application in the Java programming language, and then save it with a .java file extensionCompile the application into bytecode using the javac command. The bytecode is stored in a file with a .class file extensionUse the java command to interpret and execute the .class file
Writing an HTML Document to Host an Applet
Applets- Programs that are called from within another application• You run applets within
• a page on the Internet• an intranet• or a local computer from within another program
called Applet Viewer
• To view an applet, it must be called from within another document written in HTML
Writing an HTML Document to Host an Applet
To create an applet: Write the applet in the Java programming language, and save it with a .java file extensionCompile the applet into bytecode using the javac commandWrite an HTML document that includes a statement to call your compiled Java classLoad the HTML document into a Web browser or run the AppletViewer program
Writing an HTML Document to Host an Applet
Applets are popular because users can execute them using a Web browser • Web browser- A program that allows you to
display HTML documents on your computer screen
• Internet Explorer
• Netscape Navigator
Writing an HTML Document to Host an Applet
Code to run an applet from within an HTML document• <applet>• </applet>
Applet tag attributes• CODE = is followed by the name of the compiled
applet you are calling• WIDTH = is followed by the width of the applet on the
screen• HEIGHT = is followed by the height of the applet on
the screen
Applets
The WIDTH and HEIGHT attributes are measured in pixels• Pixels- Picture elements, or tiny dots that make
up the image on your video monitor
Understanding Simple Applets
To write an applet you must also:
Include import statements to ensure that necessary classes are available
Learn to use some Windows components and applet methods
Learn to use the keyword extends
Understanding Simple Applets
Component- A class that defines any object that you want to display
Container- A class that is used to define a component that can contain other components
Understanding Simple Applets
Most AWT applets contain 2 import statements• import java.applet.*;
• import java.awt.*;
java.applet- Contains a class named Applet• Every applet you create is based on Applet
java.awt- The Abstract Windows Toolkit, or AWT
Understanding Simple Applets
Most Swing applets contain 2 import statements• import javax.swing.*;
• import java.awt.*;
javax.swing- A package that contains classes that define GUI components (Swing components)
Understanding Simple Applets
Swing classes- part of a more general set of GUI programming capabilities that are known as the Java Foundation Classes, or JFC
• JFC includes Swing component classes and selected classes from the java.awt package
AWT and Swing Applets
AWT and Swing applets• Begin the same way as Java applications
• Must also include• extends Applet
• extends JApplet
• The extends keyword indicates the applet will build upon Applet and JApplet
Applets
Four methods in every applet• public void init()
• public void start()
• public void stop()
• public void destroy()
Java can create these for you
Using Labels with Simple AWT Applets
The java.awt package contains commonly used Windows components• Labels
• Menus
• Buttons
Label- Built-in class that holds text that you can display within an applet
Using Labels with Simple AWT Applets
Label class contains fields that indicate font and alignment
You can assign some text to a label with the setText() method
Use the add() method to add a component to an applet window
Writing a Simple Swing Applet and Using a JLabel
JLabel- Built-in class that holds text that you can display within an applet• The counterpart to the AWT Label
Writing a Simple Swing Applet and Using a JLabel
Available constructors include:• JLabel() creates a JLabel instance with no image and an empty
string for the title• JLabel(Icon image) creates a JLabel instance with the specified
image• JLabel(Icon image, int horizontalAlignment) creates a JLabel
instance with the specified image and horizontal alignment• JLabel(String text) creates a JLabel instance with the specified
text• JLabel(String text, Icon icon, int horizontalAlignment) creates
a JLabel instance with the specified text, image, and horizontal alignment
• JLabel(String text, int horizontalAlignment) creates a JLabel instance with the specified text and horizontal alignment
Writing a Simple Swing Applet and Using a JLabel
AWT components are added directly to the Applet
Swing components must use a content pane• The content pane is an object of the Container
class
• A container can be created using the getContentPane() method
Changing a JLabel’s Font
Font object- Holds typeface and size information
setFont() method requires a Font object argument
To construct a Font object you need 3 arguments• Typeface
• Style
• Point size
Changing a JLabel’s Font
To construct a Font object you need 3 arguments• Typeface
• String representing a font• Common fonts are Arial, Courier, and New Times Roman• Is only a request
• Style- applies an attribute to displayed text• Font.PLAIN• Font.BOLD• Font.ITALIC
• Point size• Integer that represents 1/72 of an inch• Printed text is usually 10- or 12 points
Adding JTextField Components to Swing Applets
JTextField- Component into which a user can type a single line of text dataJText field can be constructed from• public JTextField() constructs a new JTextField• public JTextField(int numColumns) constructs a new
empty JTextField with a specified number of columns• public JTextField(String text) constructs a new
JTextField initialized with the specific text• public JTextField(String text, int columns) constructs a
new JTextField with the specified text and columns
Other JTextField Methods
setText() method- Allows you to change the text in a JTextField that has already been created
getText() method- Allows you to retrieve the string of text in a JTextField
Other JTextField Methods
Keyboard focus- When the user clicks within the JTextField, the JTextField has focus, which means the next entries from the keyboard will be at that location
requestFocus() method- To have the insertion point appear automatically within the TextField without requiring the user to click in it first
Editable- The capacity for a field to accept keystrokes
setEditable() method- Used to change the editable status of a JTextField
Other JTextField Methods
Adding JButton Components to Swing Applets
JButton- Creates a button
JButton can be constructed from• public JButton() constructs a button with no set text
• public JButton(Icon icon) creates a button with an icon of type Icon or ImageIcon
• public JButton(String text) creates a button with the specific text
• public JButton(String text, int columns) constructs a new JTextField with the specified text and columns
Adding JButton Components to Swing Applets
setLabel() method• To change a JButton’s label
• readyJButton.setLabel(“Don’t press me again!”)
Adding Multiple Components to a JApplet
To add multiple components in a container use a layout manager• To control component positioning
• Default behavior is to use a border layout
Border layouts
Flow layouts
Adding Multiple Components to a JApplet
Border layouts• Created by the BorderLayout class
• Divide a container into 5 sections• North, South, East, West, and center
• Created with the BorderLayout() or BorderLayout(int, int) methods
Adding Multiple Components to a JApplet
Flow Layouts• Places components in a row, and when a row is
filled, it automatically spills components onto the next row
• Default positioning of the row of components is centered in the container
Event Driven Programming
Learning about Event-Driven Programming
Event- Occurs when someone using your applet takes action on a componentProcedural- Programmers dictate the order in which events occurEvent-driven programs- The user can initiate any number of events in any orderSource- Component on which an event is generatedListener- Object that is interested in an event
Preparing Your Swing Applet to Accept Event Messages
Prepare your applet to accept mouse events by: • importing the java.awt.event package• adding the phrase implements ActionListener to
the class header
ActionListener is an interfaceInterface- A set of specifications for methods that you can use with event objects
Telling Your Swing Applet to Expect Events to Happen
addActionListener() method • To tell the applet to expect ActionEvents
• aButton.addActionListener(this);
Telling Your Swing Applet How to Respond to Any Events That Happen
actionPerformed(ActionEvent e) method
• When a JApplet has registered as a listener with a JButton, and a user clicks the JButton the actionPerformed method executes
Adding Output to a Swing Applet
You can add components to an applet using the add() method
You can also remove components from an applet using the remove() method• Remove(answer);
Understanding the Swing Applet Life Cycle
Override- When you write a method that has the same method header as an automatically provided method
Understanding the Swing Applet Life Cycle
start() method- Executes after the init() method• Executes every time the applet becomes active
after it has been inactive
stop() method- When a user leaves a web page• You do not usually write your own stop()
methods
Understanding the Swing Applet Life Cycle
destroy() method- When the user closes the browser or AppletViewer• You do not usually write your own destroy()
methods
Using the setLocation() and setEnabled() Methods
setLocation() method- Allows you to place a component at a specific location within the AppletViewer window• X-axis- Horizontal position in a window• X-coordinate- Value increases as you travel
from left to right across the window• Y-axis- Vertical position in the window• Y-coordinate- Value increases as you travel
from top to bottom in the window
The setEnabled() Method
setEnabled() method- To make a component unavailable and, in turn, to make it available again
True if you want to enable a component
False if you want to disable a component
If (yLoc==280) pressButton.setEnabled(false);