applets 12/15/2015homera durani. applets an applet is a panel that allows interaction with a java...

25
Applets Applets 06/27/22 Homera Durani

Upload: camilla-wilson

Post on 21-Jan-2016

219 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Applets 12/15/2015Homera Durani. Applets An applet is a Panel that allows interaction with a Java program A applet is typically embedded in a Web page

AppletsApplets

04/21/23 Homera Durani

Page 2: Applets 12/15/2015Homera Durani. Applets An applet is a Panel that allows interaction with a Java program A applet is typically embedded in a Web page

AppletsAppletsAn applet is a Panel that allows

interaction with a Java programA applet is typically embedded in a

Web page and can be run from a browser

You need special HTML in the Web page to tell the browser about the applet

For security reasons, applets run in a sandbox: they have no access to the client’s file system

04/21/23 Homera Durani

Page 3: Applets 12/15/2015Homera Durani. Applets An applet is a Panel that allows interaction with a Java program A applet is typically embedded in a Web page

Applet SupportApplet SupportMost modern browsers support Java

1.4 if they have the appropriate pluginIn the PC labs, Internet Explorer 5.5

has been updated, but Netscape has not

The best support isn't a browser, but the standalone program appletviewer

In general you should try to write applets that can be run with any browser

04/21/23 Homera Durani

Page 4: Applets 12/15/2015Homera Durani. Applets An applet is a Panel that allows interaction with a Java program A applet is typically embedded in a Web page

What an applet isWhat an applet isYou write an applet by extending

the class AppletApplet is just a class like any

other; you can even use it in applications if you want

When you write an applet, you are only writing part of a program

The browser supplies the main method

04/21/23 Homera Durani

Page 5: Applets 12/15/2015Homera Durani. Applets An applet is a Panel that allows interaction with a Java program A applet is typically embedded in a Web page

The genealogy of The genealogy of AppletApplet

java.lang.Object | +----java.awt.Component | +----java.awt.Container | +----java.awt.Panel | +----java.applet.Applet

04/21/23 Homera Durani

Page 6: Applets 12/15/2015Homera Durani. Applets An applet is a Panel that allows interaction with a Java program A applet is typically embedded in a Web page

The simplest possible The simplest possible appletapplet

import java.applet.Applet;public class TrivialApplet extends Applet { }

<applet code="TrivialApplet.class” width=150 height=100></applet>

TrivialApplet.java

TrivialApplet.html

04/21/23 Homera Durani

Page 7: Applets 12/15/2015Homera Durani. Applets An applet is a Panel that allows interaction with a Java program A applet is typically embedded in a Web page

The simplest reasonable The simplest reasonable appletapplet

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

public class HelloWorld extends Applet { public void paint( Graphics g ) { g.drawString( "Hello World!", 30, 30 ); }}

04/21/23 Homera Durani

Page 8: Applets 12/15/2015Homera Durani. Applets An applet is a Panel that allows interaction with a Java program A applet is typically embedded in a Web page

Applet methodsApplet methodspublic void init ()public void start ()public void stop ()public void destroy ()public void paint (Graphics)Also:public void repaint()public void update (Graphics)public void showStatus(String)public String getParameter(String)

04/21/23 Homera Durani

Page 9: Applets 12/15/2015Homera Durani. Applets An applet is a Panel that allows interaction with a Java program A applet is typically embedded in a Web page

Why an applet worksWhy an applet works

You write an applet by extending the class Applet

Applet defines methods init( ), start( ), stop( ), paint(Graphics), destroy( )

These methods do nothing--they are stubsYou make the applet do something by

overriding these methodsWhen you create an applet in BlueJ, it

automatically creates sample versions of these methods for you

04/21/23 Homera Durani

Page 10: Applets 12/15/2015Homera Durani. Applets An applet is a Panel that allows interaction with a Java program A applet is typically embedded in a Web page

public void public void init ( )init ( )This is the first method to executeIt is an ideal place to initialize

variablesIt is the best place to define the

GUI Components (buttons, text fields, scrollbars, etc.), lay them out, and add listeners to them

Almost every applet you ever write will have an init( ) method

04/21/23 Homera Durani

Page 11: Applets 12/15/2015Homera Durani. Applets An applet is a Panel that allows interaction with a Java program A applet is typically embedded in a Web page

public void public void start ( )start ( )Not always neededCalled after init( )Called each time the page is loaded

and restartedUsed mostly in conjunction with

stop( )start() and stop( ) are used when the

Applet is doing time-consuming calculations that you don’t want to continue when the page is not in front

04/21/23 Homera Durani

Page 12: Applets 12/15/2015Homera Durani. Applets An applet is a Panel that allows interaction with a Java program A applet is typically embedded in a Web page

public void public void stop( )stop( )Not always neededCalled when the browser leaves the

pageCalled just before destroy( )Use stop( ) if the applet is doing

heavy computation that you don’t want to continue when the browser is on some other page

Used mostly in conjunction with start()

04/21/23 Homera Durani

Page 13: Applets 12/15/2015Homera Durani. Applets An applet is a Panel that allows interaction with a Java program A applet is typically embedded in a Web page

public void public void destroy( )destroy( )Seldom neededCalled after stop( )Use to explicitly release system

resources (like threads)System resources are usually

released automatically

04/21/23 Homera Durani

Page 14: Applets 12/15/2015Homera Durani. Applets An applet is a Panel that allows interaction with a Java program A applet is typically embedded in a Web page

Methods are called in this Methods are called in this orderorder

init and destroy are only called once each

start and stop are called whenever the browser enters and leaves the page

do some work is code called by your listeners

paint is called when the applet needs to be repainted

init()

start()

stop()

destroy()

do some work

04/21/23 Homera Durani

Page 15: Applets 12/15/2015Homera Durani. Applets An applet is a Panel that allows interaction with a Java program A applet is typically embedded in a Web page

public void public void paint(Graphics paint(Graphics g)g)

Needed if you do any drawing or painting other than just using standard GUI Components

Any painting you want to do should be done here, or in a method you call from here

Painting that you do in other methods may or may not happen

Never call paint(Graphics), call repaint( )

04/21/23 Homera Durani

Page 16: Applets 12/15/2015Homera Durani. Applets An applet is a Panel that allows interaction with a Java program A applet is typically embedded in a Web page

repaint( )repaint( )

Call repaint( ) when you have changed something and want your changes to show up on the screen

repaint( ) is a request--it might not happen

When you call repaint( ), Java schedules a call to update(Graphics g)

04/21/23 Homera Durani

Page 17: Applets 12/15/2015Homera Durani. Applets An applet is a Panel that allows interaction with a Java program A applet is typically embedded in a Web page

update( )update( )

When you call repaint( ), Java schedules a call to update(Graphics g)

Here's what update does: public void update(Graphics g) {

// Fills applet with background color, then paint(g);}

04/21/23 Homera Durani

Page 18: Applets 12/15/2015Homera Durani. Applets An applet is a Panel that allows interaction with a Java program A applet is typically embedded in a Web page

Sample Sample Graphics Graphics methodsmethodsA Graphics is something you can paint on

g.drawRect(x, y, width, height);g.fillRect(x, y, width, height);g.drawOval(x, y, width, height);

g.fillOval(x, y, width, height);

g.setColor(Color.red);

g.drawString(“Hello”, 20, 20); Hello

04/21/23 Homera Durani

Page 19: Applets 12/15/2015Homera Durani. Applets An applet is a Panel that allows interaction with a Java program A applet is typically embedded in a Web page

Painting Painting at the right timeat the right time is hardis hardRule #1: Never call paint(Graphics

g), call repaint( ).Rule #2: Do all your painting in

paint, or in a method that you call from paint.

Rule #3: If you paint on any Graphics other than the Applet’s, call its update method from the Applet’s paint method.

Rule #4. Do your painting in a separate Thread.

These rules aren't perfect, but they should help.

04/21/23 Homera Durani

Page 20: Applets 12/15/2015Homera Durani. Applets An applet is a Panel that allows interaction with a Java program A applet is typically embedded in a Web page

Other useful Applet Other useful Applet methodsmethodsSystem.out.println(String s)

◦Works from appletviewer, not from browsers

◦Automatically opens an output window.showStatus(String) displays the

String in the applet’s status line.◦Each call overwrites the previous call.◦You have to allow time to read the line!

04/21/23 Homera Durani

Page 21: Applets 12/15/2015Homera Durani. Applets An applet is a Panel that allows interaction with a Java program A applet is typically embedded in a Web page

Applets are not magic!Applets are not magic!Anything you can do in an applet,

you can do in an application.You can do some things in an

application that you can’t do in an applet.

If you want to access files from an applet, it must be a “trusted” applet.

Trusted applets are beyond the scope of this course.

04/21/23 Homera Durani

Page 22: Applets 12/15/2015Homera Durani. Applets An applet is a Panel that allows interaction with a Java program A applet is typically embedded in a Web page

Structure of an HTML Structure of an HTML pagepage

Most HTML tags are containers.

A container is <tag> to </tag>

HTML

TITLE

BODYHEAD

(content)

04/21/23 Homera Durani

Page 23: Applets 12/15/2015Homera Durani. Applets An applet is a Panel that allows interaction with a Java program A applet is typically embedded in a Web page

HTMLHTML

<html> <head> <title> Hi World Applet </title> </head>

<body> <applet code="HiWorld.class” width=300 height=200> <param name="arraysize" value="10"> </applet> </body></html> 04/21/23 Homera Durani

Page 24: Applets 12/15/2015Homera Durani. Applets An applet is a Panel that allows interaction with a Java program A applet is typically embedded in a Web page

<param name="arraysize" <param name="arraysize" value="10">value="10">

public String getParameter(String name)

String s = getParameter("arraysize");

try { size = Integer.parseInt (s) }catch (NumberFormatException e) {…}

04/21/23 Homera Durani

Page 25: Applets 12/15/2015Homera Durani. Applets An applet is a Panel that allows interaction with a Java program A applet is typically embedded in a Web page

The EndThe End

04/21/23 Homera Durani