a simple applet. applets and applications an applet is a java program that runs on a web page...
Post on 21-Dec-2015
238 views
TRANSCRIPT
A Simple Applet
Applets 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
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
The 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
Importing 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
The 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 it’s drawn on the screen, then java.awt is probably involved!
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
C and C++ programmers only
• C and C++ have an #include directive that copies a library function into your program
• This makes your program bigger
• Java’s import gives you access to the library
• It does not make your program bigger
• It’s OK to use lots of include directives!
The applet so far
import java.applet.Applet;import java.awt.*;
Comments
• 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 extracted
from your program and used in documentation */
Classes
• 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
Your 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!)
Your 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– Java’s Applet just makes an empty window– We are going to draw in that window
Your 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
The applet so far
import java.applet.Applet;import java.awt.*;
// CIT 591 example
public class Drawing extends Applet {
…we still need to put some code in here...
}
Methods
• 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 method’s
parameters, or arguments– The result is just called a result
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
• paint doesn’t return any result
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
• paint is the name of the method• The argument (there’s only one) is inside
parentheses• The method’s commands are inside braces
By the way…names
• ( ) are parentheses
• { } are braces
• [ ] are brackets
The 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
Classes 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 can’t pet “dog,” but I can pet “Fido”– Fido is an object of type Dog
The 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
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… }}
Colors
• 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.darkGray Color.red Color.cyanColor.gray Color.orange Color.blueColor.lightGray Color.yellowColor.white Color.magenta
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)
• We are mixing lights, not pigments
• Yellow is red + green, or (255, 255, 0)
Setting 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
The paint method so far
public void paint(Graphics g) { g.setColor(Color.blue); …draw a rectangle… g.setColor(Color.red) …draw another rectangle… }}
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
Java’s 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, h) is the bottom right corner, where w is the width of the window and h is its height
Drawing rectangles
• There are two ways to draw rectangles:
• g.drawRect( left , top , width , height );
• g.fillRect(left , top , width , height );
The complete appletimport 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); }}
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 );
Drawing 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 );
The End