Top Banner
1 A Simple Applet
25

first-applet

Apr 13, 2017

Download

Education

Mohit Patodia
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: first-applet

1

A Simple Applet

Page 2: first-applet

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

An application is a Java program that runs all by itself

Page 3: first-applet

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

Page 4: first-applet

4

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

Page 5: first-applet

5

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

Page 6: first-applet

6

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!

Page 7: first-applet

7

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

Page 8: first-applet

8

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!

Page 9: first-applet

9

The applet so far

import java.applet.Applet;import java.awt.*;

Page 10: first-applet

10

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 of Applet, but with added capabilities Java’s 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

Page 11: first-applet

11

The applet so far

import java.applet.Applet;import java.awt.*;// CIT 591 examplepublic class Drawing extends Applet { …we still need to put some code in here...

}

Page 12: first-applet

12

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

Page 13: first-applet

13

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 doesn’t remember what you

have painted)

Page 14: first-applet

14

The applet so far

import java.applet.Applet;import java.awt.*;// CIT 591 examplepublic class Drawing extends Applet { public void paint(Graphics g) { …we still need to put some code in here… }}

Page 15: first-applet

15

Colors

The java.awt package defines a class named Color There are 13 predefined colors—here 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.CYANColor.GRAY Color.ORANGEColor.BLUEColor.LIGHT_GRAY Color.YELLOWColor.WHITE Color.MAGENTA

Page 16: first-applet

16

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)

Page 17: first-applet

17

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

Page 18: first-applet

18

The paint method so far

public void paint(Graphics g) { g.setColor(Color.BLUE); …draw a rectangle… g.setColor(Color.RED); …draw another rectangle… }}

Page 19: first-applet

19

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

Page 20: first-applet

20

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 - 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)

Page 21: first-applet

21

Drawing rectangles

There are two ways to draw rectangles: g.drawRect( left , top , width , height );

g.fillRect(left , top , width , height );

Page 22: first-applet

22

The complete applet

import java.applet.Applet;import java.awt.*;// CIT 591 examplepublic 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); }}

Page 23: first-applet

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 );

Page 24: first-applet

24

The HTML page You can only run an applet in an HTML page The HTML looks something like this:

<html> <body> <h1>DrawingApplet Applet</h1> <applet code="DrawingApplet.class" width="250" height="200"> </applet> </body></html>

BlueJ will create this HTML for you

Page 25: first-applet

25

The End