7/31/2019 Applet Presentation
1/31
1
JAVA Applets
7/31/2019 Applet Presentation
2/31
2
Applets and applications
An applet is a Java program that runs on a web page
Applets can be run within any modern browser
To run modern Java applets, old browsers need an up-to-date
Java plugin appletviewer is a program that can run java applets.
7/31/2019 Applet Presentation
3/31
3
Packages and classes
Java supplies a huge library of pre-written code,
ready for you to use in your programs
Code is organized into classes
Classes are grouped into packages
One way to use this code is to import it
You can import a single class, or all the classes in a
package
7/31/2019 Applet Presentation
4/31
4
The Applet class
To create an applet, you must import the Applet class
This class is in the java.applet package
TheAppletclass contains code that works with a
browser to create a display window Capitalization matters!
applet and Applet are different names
7/31/2019 Applet Presentation
5/31
5
Importing the Applet class
Here is the directive that you need:
import java.applet.Applet;
7/31/2019 Applet Presentation
6/31
6
Thejava.awtpackage
awt stands for Abstract Window Toolkit
The java.awt package includes classes for:
Drawing lines and shapes
Drawing letters
Setting colors
Choosing fonts
If its drawn on the screen, then java.awt isprobably involved!
7/31/2019 Applet Presentation
7/317
Importing the java.awt package
Since you may want to use many classes from the
java.awt package, simply import them all:
import java.awt.*;
The asterisk, or star (*), means all classes
The import directives can go in any order, but must be
the first lines in your program
7/31/2019 Applet Presentation
8/318
The applet so far
import java.applet.Applet;
import java.awt.*;
7/31/2019 Applet Presentation
9/319
Your applet class
public class Drawing extends Applet { }
Drawing is the name of your class
Class names should always be capitalized extends Applet says that our Drawing is a kind ofApplet, but with added capabilities Javas Applet just makes an empty window
We are going to draw in that window The only way to make an applet is to extend Applet
7/31/2019 Applet Presentation
10/3110
The applet so far
import java.applet.Applet;
import java.awt.*;
public class Drawing extends Applet {
we still need to put some code in here...
}
7/31/2019 Applet Presentation
11/3111
The paint method
Our applet is going to have a method to paint some
colored rectangles on the screen
This method must be named paint
paint needs to be told where on the screen it can draw This will be the only parameter it needs
paintdoesnt return any result
7/31/2019 Applet Presentation
12/3112
The paint method, part 2
public void paint(Graphics g) { } public says that anyone can use this method
void says that it does not return a result
A Graphics(short for Graphics context) is an
object that holds information about a painting
It remembers what color you are using
It remembers what font you are using
You can paint on it (but it doesnt remember what youhave painted)
7/31/2019 Applet Presentation
13/3113
The applet so far
import java.applet.Applet;
import java.awt.*;
// CIT 591 example
public class Drawing extends Applet {
public void paint(Graphics g) {
we still need to put some code in here
}
}
7/31/2019 Applet Presentation
14/3114
Colors
The java.awtpackage defines a class named Color
There are 13 predefined colorshere are their fully-qualified names:
For compatibility with older programs (before the naming
conventions were established), Java also allows color
names in lowercase: Color.black, Color.darkGray, etc.
Color.BLACK Color.PINK Color.GREENColor.DARK_GRAY Color.RED Color.CYAN
Color.GRAY Color.ORANGE Color.BLUE
Color.LIGHT_GRAY Color.YELLOW
Color.WHITE Color.MAGENTA
7/31/2019 Applet Presentation
15/3115
New colors
Every color is a mix of red, green, and blue
You can make your own colors:
new Color(red,green,blue)
Amounts range from 0 to 255 Black is (0, 0, 0), white is (255, 255, 255)
Yellow is red + green, or (255, 255, 0)
7/31/2019 Applet Presentation
16/31
16
Using Colors
static int HSBtoRGB(float h, float s, float b)
static float[] RGBtoHSB(int r, int g, int b, float hsb[])
Color brighter()
Color darker()
static Color decode(String str) throws NumberFormatException
boolean equals(Object obj)
int getBlue()
int getGreen()
int getRGB()
int getRed()
http://java.sun.com/javase/6/docs/api/java/awt/Color.html
import java.applet.Applet;import java.awt.Color;import java.awt.Graphics;
/*
*/
public class BlueString extends Applet {
public void paint(Graphics g) {g.setColor(Color.blue);g.drawString("Blue String", 100, 50);
}}
Color(int red, int green, int blue)
Color(int rgb)
Color(float r, float g, float b)
Color Constructors
7/31/2019 Applet Presentation
17/3117
Setting a color
To use a color, we tell our Graphicsgwhat color we
want:
g.setColor(Color.RED);
g will remember this color and use it for everythinguntil we tell it some different color
7/31/2019 Applet Presentation
18/3118
The paint method so far
public void paint(Graphics g) {
g.setColor(Color.BLUE);
draw a rectangle
g.setColor(Color.RED);draw another rectangle
}
}
7/31/2019 Applet Presentation
19/3119
Pixels
A pixel is a picture (pix) element
one pixel is one dot on your screen
there are typically 72 to 90 pixels per inch
java.awt measures everything in pixels
7/31/2019 Applet Presentation
20/3120
Javas coordinate system
Java uses an (x, y) coordinate system
(0, 0) is the top left corner
(50, 0) is 50 pixels to the right of (0, 0) (0, 20) is 20 pixels down from (0, 0)
(w - 1, h - 1) is just inside the bottom right corner, where w
is the width of the window and h is its height
(0, 0)
(0, 20)
(50, 0)
(50, 20)
(w-1, h-1)
7/31/2019 Applet Presentation
21/3121
Drawing rectangles
There are two ways to draw rectangles:
g.drawRect(left,top,width,height);
g.fillRect(left,top,width,height);
7/31/2019 Applet Presentation
22/31
22
The complete applet
import java.applet.Applet;
import java.awt.*;
// CIT 591 example
public class Drawing extends Applet {
public void paint(Graphics g) {
g.setColor(Color.BLUE);
g.fillRect(20, 20, 50, 30);g.setColor(Color.RED);
g.fillRect(50, 30, 50, 30);
}
}
7/31/2019 Applet Presentation
23/31
23
Some more java.awt methods
g.drawLine(x1 ,y1,x2 ,y2 );
g.drawOval( left,top,width,height );
g.fillOval( left,top,width,height);
g.drawRoundRect( left,top,width,height );
g.fillRoundRect( left,top ,width,height);
g.drawArc( left,top,width,height,
startAngle,arcAngle ); g.drawString(string,x,y);
7/31/2019 Applet Presentation
24/31
7/31/2019 Applet Presentation
25/31
25
Displaying Text
FontMetrics(Font font)
http://java.sun.com/javase/6/docs/api/java/awt/Font.html
Font(String name, int style, int ps) Font Constructor
abstract void setFont(Font font)
setFont() Method
FontMetrics Constructor
7/31/2019 Applet Presentation
26/31
26
Using Applet Dimensions
http://java.sun.com/javase/6/docs/api/java/awt/Dimension.html
Dimension getSize()getSize() Method
Dimension()
Dimension(Dimension d)
Dimension(int w, int h)
Dimension Constructors
7/31/2019 Applet Presentation
27/31
27
Using Applets in a Web Page
[]
[]
.
[]
Applet HTML Tag
import java.applet.*;import java.awt.*;
/*
*/
public class AppletParameters extends Applet {
public void paint(Graphics g) {String background = getParameter("background");String foreground = getParameter("foreground");String message = getParameter("message");setBackground(Color.decode(background));setForeground(Color.decode(foreground));Font font = getFont();FontMetrics fm = getFontMetrics(font);Dimension d = getSize();int x = (d.width - fm.stringWidth(message)) / 2;int y = d.height / 2;g.drawString(message, x, y);
}}
7/31/2019 Applet Presentation
28/31
28
The Applet Class
java.lang.Object
java.awt.Component
java.awt.Container
java.awt.Panel
java.applet.Applet
Applet and itssuperclasses
import java.applet.*;import java.awt.*;
/*
*/
public class BackgroundForeground extends Applet {
public void paint(Graphics g) {setBackground(Color.yellow);setForeground(Color.blue);g.drawLine(0, 0, 200, 200);g.fillRect(100, 40, 50, 50);
}
}
7/31/2019 Applet Presentation
29/31
The Life Cycle of an Applet
import java.applet.Applet;
import java.awt.Graphics;/*
*/
public class AppletLifecycle extends Applet {String str = "";
public void init() {str += "init; ";}
public void start() {str += "start; ";
}
public void stop() {str += "stop; ";
}
public void destroy() {System.out.println("destroy");
}
public void paint(Graphics g) {g.drawString(str, 10, 25);
}}
init() : called only when the appletbegins execution.
start() : executed after init() method.Called by the applet viewer or Webbrowser.
stop() : when applet viewer is minimized. destroy() : called by the applet viewer or
Web browser before the applet isterminated.
7/31/2019 Applet Presentation
30/31
Action /Event Listeners
Now that you know how to display things on screen youneed a way to responds to the user actions. This is done
with the EventListeners. An Event is a user interaction.
Reacting on GUI cmponents is done by adding
ActionListeners:
MouseListener
MouseMotionListener
KeyboardListener (but it is not a common class you will
use.)
30
http://www.realapplets.com/tutorial/MouseClickExample.htmlhttp://www.realapplets.com/tutorial/MouseMotionExample.htmlhttp://www.realapplets.com/tutorial/MouseMotionExample.htmlhttp://www.realapplets.com/tutorial/MouseClickExample.html7/31/2019 Applet Presentation
31/31
Thank you!
Top Related