DOC PREVIEW
Penn CIT 591 - Applets

This preview shows page 1-2-23-24 out of 24 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 24 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 24 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 24 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 24 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 24 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

AppletsSlide 2Applet SupportWhat an applet isThe genealogy of JAppletThe simplest possible appletThe simplest reasonable appletApplet methodsWhy an applet workspublic void init ( )start( ), stop( ) and destroy( )Methods are called in this orderpublic void paint(Graphics g)repaint( )update( )Sample Graphics methodsPainting at the right time is hardOther useful JApplet methodsApplets are not magic!Structure of an HTML pageHTMLThe <applet> tag<param name="arraysize" value="10">The EndJan 14, 2019Applets2AppletsAn applet is a program that 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You don’t need to supply a main method; the browser does thatWhen you write an applet, you are writing only part of a program You supply certain methods that the browser callsFor security reasons, applets run in a sandbox: they have no access to the client’s file system3Applet SupportMost modern browsers support applets if they have the appropriate pluginYou need a version of the plugin at least as new as the version of Java you are trying to runThe plugin is usually installed automatically when you install a new version of JavaThe best support isn't a browser, but the standalone program appletviewerappletviewer uses only the applets in a Web page, and ignores everything elseIf you want to reach the widest audience, you should use Java 1.1, and AWT instead of SwingThis is because Microsoft no longer supports Java4What an applet isYou write an applet by extending the class JApplet JApplet 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Once you understand how applets work, you can write a program that function either as an applet or as an application—just write a main method that calls the right methods at the right timeSuch programs have the ugly name “appletcations”5The genealogy of JAppletjava.lang.Object | +----java.awt.Component | +----java.awt.Container | +----java.awt.Panel | +----java.applet.Applet | +----javax.swing.JApplet6The simplest possible appletimport javax.swing.JApplet;public class TrivialApplet extends JApplet { }<applet code="TrivialApplet.class" width="150" height="100"></applet>TrivialApplet.javaTrivialApplet.html7The simplest reasonable appletimport java.awt.*;import javax.swing.JApplet;public class HelloWorld extends JApplet { public void paint(Graphics g) { g.drawString("Hello World!", 30, 30); }}8Applet 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)9Why an applet worksYou write an applet by extending the class JAppletApplet defines methods init( ), start( ), stop( ), paint(Graphics), destroy( )These methods do nothing--they are stubsYou make the applet do something by overriding these methodsWhen you create an applet in BlueJ, it automatically creates sample versions of these methods for you10public void init ( )init() is the first method to executeinit() is an ideal place to initialize variablesinit() is the best place to define the GUI Components (buttons, text fields, checkboxes, etc.), lay them out, and add listeners to themAlmost every applet you ever write will have an init( ) method11 start( ), stop( ) and destroy( )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public void start() is called:Right after init( )Each time the page is loaded and restarted public void stop( ) is called:When the browser leaves the pageJust before destroy( )public void destroy( ) is called after stop( )Use destroy() to explicitly release system resources (like threads)System resources are usually released automatically12Methods are called in this order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 repaintedinit()start()stop()destroy()do some work13public void paint(Graphics 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( )14repaint( )Call repaint( ) when you have changed something and want your changes to show up on the screenYou do not need to call repaint() when something in Java’s own components (Buttons, TextFields, etc.)You do need to call repaint() after drawing commands (drawRect(...), fillRect(...), drawString(...), etc.)repaint( ) is a request--it might not happenWhen you call repaint( ), Java schedules a call to update(Graphics g)15update( )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);}16Sample Graphics methodsA Graphics is something you can paint ong.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);Hello17Painting at the right time is hardWhen you modify common components (JButtons, JLabels, JTextFields, etc.), Java keeps the screen display up to dateWhen you paint on a Graphics object, you have to make your changes appear on the screenTo help ensure your changes appear on screen, follow these rules:Rule #1: Never call paint(Graphics g), call repaint( )Rule #2: Do all your painting in paint, or in a method that is called 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If you follow these rules and the screen still doesn’t change, I probably won’t be able to find the problem, either :-(18Other useful JApplet


View Full Document

Penn CIT 591 - Applets

Documents in this Course
Stacks

Stacks

11 pages

Arrays

Arrays

30 pages

Arrays

Arrays

29 pages

Applets

Applets

24 pages

Style

Style

33 pages

JUnit

JUnit

23 pages

Java

Java

32 pages

Access

Access

18 pages

Methods

Methods

29 pages

Arrays

Arrays

32 pages

Methods

Methods

9 pages

Methods

Methods

29 pages

Vectors

Vectors

14 pages

Eclipse

Eclipse

23 pages

Vectors

Vectors

14 pages

Recursion

Recursion

24 pages

Animation

Animation

18 pages

Animation

Animation

18 pages

Static

Static

12 pages

Eclipse

Eclipse

23 pages

JAVA

JAVA

24 pages

Arrays

Arrays

29 pages

Animation

Animation

18 pages

Numbers

Numbers

21 pages

JUnit

JUnit

23 pages

Access

Access

18 pages

Methods

Methods

30 pages

Buttons

Buttons

20 pages

Java

Java

31 pages

Style

Style

28 pages

Style

Style

28 pages

Load more
Download Applets
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Applets and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Applets 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?