16slide_2007 - Chapter 16 Applets and Multimedia...

Info iconThis preview shows page 1. Sign up to view the full content.

View Full Document Right Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: Chapter 16 Applets and Multimedia EE3206/EE5805 Java Programming & Application 1 Objectives To explain how the Web browser controls and executes applets. To To describe the init, start, stop, and destroy methods in the Applet To class. To know how to embed applets in Web pages. To To run applets from appletviewer and from Web browsers. To To pass string values to applets from HTML. To To write a Java program that can run as both an application and an To applet. EE3206/EE5805 Java Programming & Application 2 The Applet Class Applet public class MyApplet extends java.applet.Applet { ... /** The no-arg constructor is called by the browser when the Web nopage containing this applet is initially loaded, or reloaded reloaded */ public MyApplet() { MyApplet() ... } /** Called by the browser after the applet is loaded */ public void init() { ... } /** Called by the browser after the init() method, or every time the Web page is visited */ public void start() { ... } /** Called by the browser when the page containing this applet becomes inactive */ public void stop() { ... } /** Called by the browser when the Web browser exits */ public void destroy() { ... } /** Other methods if necessary... */ } EE3206/EE5805 Java Programming & Application 3 The Applet Class, cont. Applet When the applet is loaded, the Web browser creates an instance of the applet by invoking the applet’s no-arg constructor. The browser uses the init, start, stop, and destroy methods to control the applet. By default, these methods do nothing. To perform specific functions, they need to be modified in the user's applet so that the browser can call your code properly. EE3206/EE5805 Java Programming & Application 4 Browser Calling Applet Methods Loaded JVM loads the applet class Browser creates the applet Created Browser invokes init() Initialized Browser invokes start() Started Browser invokes stop() Browser invokes stop() Stopped Browser invokes destroy() Browser invokes start() Destroyed EE3206/EE5805 Java Programming & Application 5 The init() Method init() Invoked when the applet is first loaded and again if the applet is reloaded. A subclass of Applet should override this method if the subclass has an initialization to perform. The functions usually implemented in this method include creating new threads, loading images, setting up userinterface components, and getting string parameter values from the <applet> tag in the HTML page. EE3206/EE5805 Java Programming & Application 6 The start() Method start() Invoked after the init() method is executed; also called init() whenever the applet becomes active again after a period of inactivity (for example, when the user returns to the page containing the applet after surfing other Web pages). A subclass of Applet overrides this method if it has any operation that needs to be performed whenever the Web page containing the applet is visited. An applet with animation, for example, might use the start method to resume animation. EE3206/EE5805 Java Programming & Application 7 The stop() Method stop() The opposite of the start() method, which is called when the user start() moves back to the page containing the applet; the stop() method is stop() invoked when the user moves off the page. A subclass of Applet overrides this method if it has any operation that needs to be performed each time the Web page containing the applet is no longer visible. When the user leaves the page, any threads the applet has started but not completed will continue to run. You should override the stop method to suspend the running threads so that the applet does not take up system resources when it is inactive. EE3206/EE5805 Java Programming & Application 8 The destroy() Method destroy() Invoked when the browser exits normally to inform the applet that it is no longer needed and that it should release any resources it has allocated. A subclass of Applet overrides this method if it has any operation that needs to be performed before it is destroyed. Usually, you won't need to override this method unless you wish to release specific resources, such as threads that the applet created. EE3206/EE5805 Java Programming & Application 9 The JApplet Class JApplet The Applet class is an AWT class and is not designed to work with Swing components. To use Swing components in Java applets, it is necessary to create a Java applet that extends javax.swing.JApplet, which is a subclass of java.applet.Applet. JApplet inherits all the methods from the Applet class. In addition, it provides support for laying out Swing components. EE3206/EE5805 Java Programming & Application 10 First Simple Applet // WelcomeApplet.java: Applet for displaying a message import javax.swing.*; public class WelcomeApplet extends JApplet { /** Initialize the applet */ public void init() { add(new JLabel("Welcome to Java", JLabel.CENTER)); } } // WelcomeApplet.java: Applet for displaying a message import javax.swing.*; public class WelcomeApplet extends JApplet { /** Initialize the applet */ public WelcomeApplet() { add(new JLabel("Welcome to Java", JLabel.CENTER)); } } EE3206/EE5805 Java Programming & Application 11 First Simple Applet <html> <head> <title>Welcome Java Applet</title> </head> <body> <applet code = "WelcomeApplet.class" width = 350 height = 200> </applet> </body> </html> WelcomeApplet Run Applet Viewer 12 EE3206/EE5805 Java Programming & Application 4 Steps for Writing Applets 1. Always extends the JApplet class, which is a subclass of Applet for Swing components. Applet Override init(), start(), stop(), and start() stop() destroy() if necessary. By default, these methods are empty. Add your own methods and data if necessary. Applets are always embedded in an HTML page. EE3206/EE5805 Java Programming & Application 13 2. 3. 4. The <applet> HTML Tag <applet> <applet code=classfilename.class width=applet_viewing_width_in_pixels height=applet_viewing_height_in_pixels [archive=archivefile] [codebase=applet_url] [vspace=vertical_margin] [hspace=horizontal_margin] [align=applet_alignment] [alt=alternative_text] > <param name=param_name1 value=param_value1> </applet> EE3206/EE5805 Java Programming & Application 14 Passing Parameters to Applets <applet code = "DisplayMessage.class" width = 200 height = 50 alt="You must have a Java-enabled browser to view the applet"> <param name=MESSAGE value="Welcome to Java"> <param name=X value=20> <param name=Y value=20> </applet> The Applet class provides the method getParameter( ) to fetch the parameters passed from HTML public String getParameter(String name) e.g. String m = getParameter(“MESSAGE”); EE3206/EE5805 Java Programming & Application 15 Example: Passing Parameters to Java Applets Objective: Display a message at a specified location. The message and the location (x, y) are obtained from the HTML source. DisplayMessage Run Applet Viewer EE3206/EE5805 Java Programming & Application 16 Applications vs. Applets Similarities Similarities Since JFrame and JApplet both are subclasses of the Container Since class, all the user interface components, layout managers, and event-handling features are the same for both classes. Differences Differences Applications are invoked from the static main method by the Java Applications interpreter, and applets are run by the Web browser. The Web browser creates an instance of the applet using the applet’s no-arg constructor and controls and executes the applet through the init, start, stop, and destroy methods. Applets have security restrictions Applets Web browser creates graphical environment for applets, GUI Web applications are placed in a frame. EE3206/EE5805 Java Programming & Application 17 Security Restrictions on Applets Applets are not allowed to read from, or write to, Applets the file system of the computer viewing the applets. Applets are not allowed to run any programs on the Applets browser’s computer. Applets are not allowed to establish connections Applets between the user’s computer and another computer except with the server where the applets are stored. EE3206/EE5805 Java Programming & Application 18 Conversions Between Applications and Applets Conversions between applications and applets are Conversions simple and easy. You can always convert an applet into an application. You You can convert an application to an applet as long as You security restrictions are not violated. See example See EE3206/EE5805 Java Programming & Application 19 Example: Running a Program as an Applet and as an Application Objective: Modify MessageApplet to enable it to MessageApplet Objective: run both as an applet and as an application. DisplayMessageApp Run as Application Run as Applet EE3206/EE5805 Java Programming & Application 20 ...
View Full Document

Ask a homework question - tutors are online