Title: A Simple Applet
1A Simple Applet
2Applets and applications
- An applet is a Java program that runs on a web
page - Applets can be run from
- Internet Explorer
- Netscape Navigator (sometimes)
- appletviewer
- An application is a Java program that runs all by
itself
3Packages 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
4The Applet class
- To create an applet, you must import the Applet
class - This class is in the java.applet package
- The Applet class contains code that works with a
browser to create a display window - Capitalization matters!
- applet and Applet are different names
5Importing the Applet class
- Here is the directive that you need
- import java.applet.Applet
- import is a keyword
- java.applet is the name of the package
- A dot ( . ) separates the package from the class
- Applet is the name of the class
- There is a semicolon ( ) at the end
6The java.awt package
- 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 is
probably involved!
7Importing 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
8C and C programmers only
- C and C have an include directive that copies
a library function into your program - This makes your program bigger
- Javas import gives you access to the library
- It does not make your program bigger
- Its OK to use lots of include directives!
9The applet so far
import java.applet.Appletimport java.awt.
10Comments
- A comment adds information for the reader
- Java ignores everything inside comments
- There are three kinds of comments
- // starts a comment that goes to the end of the
line - / starts a comment that can extend over many
lines, and ends at / - / is a javadoc comment that can be
extractedfrom your program and used in
documentation /
11Classes
- In Java, all code occurs in classes
- Except for the package and import directives
- We will talk about package some day
- The code that you import is in classes
- Your code will also be in classes
- For now, a class is a bundle of code
- We will talk about what it really is very soon
12Your first class
- public class Drawing extends Applet the
code for your class goes in here - public says your class is not hidden
- This makes your class visible to BlueJ
- We will talk later about why we hide code
- class says we are making a class (Duh!)
13Your first class, part 2
- 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 of
Applet, but with added capabilities - Javas Applet just makes an empty window
- We are going to draw in that window
14Your first class, part 3
- public class Drawing extends Applet the
code for your class goes in here - The braces, , mark the beginning and ending of
your code
15The applet so far
import java.applet.Appletimport java.awt. //
CIT 591 example public class Drawing extends
Applet we still need to put some code in
here...
16Methods
- A method is a group of commands that tell the
computer to do something - C programmers methods are similar to functions
- A method takes information in, does something
with it, and returns a result - The input information is called the methods
parameters, or arguments - The result is just called a result
17The 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
- paint doesnt return any result
18The 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
- paint is the name of the method
- The argument (theres only one) is inside
parentheses - The methods commands are inside braces
19By the waynames
- ( ) are parentheses
- are braces
- are brackets
20The paint method, part 3
- public void paint(Graphics g)
- A Graphics is something 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, and it remembers what you
have painted
21Classes and objects
- A class is a description of some objects
- An object is a member of a class
- The type of an object is the class it belongs to
- Classes are more abstract than objects
- If I have a dog named Fido, I cant pet dog,
but I can pet Fido - Fido is an object of type Dog
22The paint method, part 4
- public void paint(Graphics g)
- g is the parameter, or argument
- we could use any name we wanted for it
- but it should not begin with a capital letter
- The type of a name tells what kind of thing the
name refers to - Graphics g says g is an object of type Graphics
- We can paint on g
23The applet so far
import java.applet.Appletimport java.awt. //
CIT 591 example public class Drawing extends
Applet public void paint(Graphics g)
we still need to put some code in here
24Colors
- The java.awt package defines a class named Color
- There are 13 predefined colors--here are their
fully-qualified names
Color.BLACK Color.PINK Color.GREENColor.DARK_G
RAY Color.RED Color.CYANColor.GRAY Color.ORANGE
Color.BLUEColor.LIGHT_GRAY Color.YELLOWColor.W
HITE Color.MAGENTA
- For compatibility with older programs (before the
naming conventions were established), Java also
allows color names in lowercase Color.black,
Color.darkGray, etc.
25New 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)
- We are mixing lights, not pigments
- Yellow is red green, or (255, 255, 0)
26Setting a color
- To use a color, we tell our Graphics g what color
we want - g.setColor(Color.RED)
- g will remember this color and use it for
everything until we tell it some different color
27The paint method so far
public void paint(Graphics g)
g.setColor(Color.BLUE) draw a
rectangle g.setColor(Color.RED)
draw another rectangle
28Pixels
- 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
29Javas 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
30Drawing rectangles
- There are two ways to draw rectangles
- g.drawRect( left , top , width , height )
- g.fillRect(left , top , width , height )
31The complete applet
import java.applet.Appletimport 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)
32Some 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 )
33Drawing Strings
- A String is a sequence of characters enclosed in
double quote marks - "Hello, World!"
- A double quote mark in a String must be preceded
by a backslash ( \ ) - "He said, \"Please don't go.\""
- g.drawString( string , x , y )
34The End