Answers to Questions and Exercises: Applets
Questions
-
Question: Which classes can an applet extend?
Answer: An applet can extend the
java.applet.Applet
class or thejava.swing.JApplet
class.The
java.applet.Applet
class extends thejava.awt.Panel
class and enables you to use the GUI tools in the AWT package.The
java.swing.JApplet
class is a subclass ofjava.applet.Applet
that also enables you to use the Swing GUI tools. -
Question: For what do you use the
start()
method?Answer: You use the
start()
method when the applet must perform a task after it is initialized, before receiving user input. Thestart()
method either performs the applet's work or (more likely) starts up one or more threads to perform the work. -
Question: True or false: An applet can make network connections to any host on the Internet.
Answer: False: An applet can only connect to the host that it came from.
-
Question: How do you get the value of a parameter specified in the JNLP file from within the applet's code?
Answer: You use the
getParameter("Parameter name")
method, which returns the String value of the parameter. -
Question: Which class enables applets to interact with JavaScript code in the applet's web page?
Answer: The
netscape.javascript.JSObject
class enables applets to interact with JavaScript code in the applet's web page. -
Question: True or False: Applets can modify the contents of the parent web page.
Answer: True:Applets can modify the contents of the parent web page by using the
getDocument
method of thecom.sun.java.browser.plugin2.DOM
class and the Common DOM API.
Exercises
-
Exercise: The
Exercise
applet's parent web page has a JavaScript variable calledmemberId
. Write the code to set the value of thememberId
equal to "123489" in the applet'sstart
method.Answer:
import java.applet.Applet; import netscape.javascript.*; // add plugin.jar to // classpath during // compilation public class Exercise extends Applet { public void start() { try { JSObject window = JSObject.getWindow(this); window.setMember("memberId", "123489"); } catch (JSException jse) { jse.printStackTrace(); } } }