Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Intro_Java_brief_Liang2011.pdf
Скачиваний:
195
Добавлен:
26.03.2016
Размер:
10.44 Mб
Скачать

614Chapter 18 Applets and Multimedia

18.1Introduction

When browsing the Web, often the graphical user interface and animation you see are developed by the use of Java. The programs used are called Java applets. Suppose you want to develop a Java applet for the Sudoku game, as shown in Figure 18.1. How do you write this program?

FIGURE 18.1 The Sudoku game is displayed in a Web browser.

In this chapter, you will learn how to write Java applets, explore the relationship between applets and the Web browser, and discover the similarities and differences between applications and applets. You will also learn how to create multimedia Java applications and applets with images and audio.

Video Note

First applet

18.2 Developing Applets

So far, you have used only Java applications. Everything you have learned about writing applications, however, applies also to writing applets. Applications and applets share many common programming features, although they differ slightly in some aspects. For example, every application must have a main method, which is invoked by the Java interpreter. Java applets, on the other hand, do not need a main method. They run in the Web browser environment. Because applets are invoked from a Web page, Java provides special features that enable applets to run from a Web browser.

The Applet class provides the essential framework that enables applets to be run from a Web browser. While every Java application has a main method that is executed when the application starts, applets do not have a main method. Instead they depend on the browser to run. Every applet is a subclass of java.applet.Applet. The Applet class is an AWT class

18.3 The HTML File and the <applet> Tag 615

and is not designed to work with Swing components. To use Swing components in Java applets, you need to create a Java applet that extends javax.swing.JApplet, which is a subclass of java.applet.Applet.

Every Java GUI program you have developed can be converted into an applet by replacing JFrame with JApplet and deleting the main method. Figure 18.2(a) shows a Java GUI application program, which can be converted into a Java applet as shown in Figure 18.2(b).

import javax.swing.*;

public class DisplayLabel extends JFrame { public DisplayLabel() {

add(new JLabel("Great!", JLabel.CENTER));

}

public static void main(String[] args) { JFrame frame = new DisplayLabel(); frame.setTitle("DisplayLabel"); frame.setSize(200, 100); frame.setLocationRelativeTo(null); frame.setDefaultCloseOperation(

JFrame.EXIT_ON_CLOSE); frame.setVisible(true);

}

}

(a) GUI application

import javax.swing.*;

JApplet public class DisplayLabel extends JFrame {

public DisplayLabel() {

add(new JLabel("Great!", JLabel.CENTER));

}

public static void main(String[] args) { JFrame frame = new DisplayLabel(); frame.setTitle("DisplayLabel"); frame.setSize(200, 100); frame.setLocationRelativeTo(null); frame.setDefaultCloseOperation(

JFrame.EXIT_ON_CLOSE); frame.setVisible(true);

}

}

(b) Applet

FIGURE 18.2 You can convert a GUI application into an applet.

Listing 18.1 gives the complete code for the applet.

LISTING 18.1 DisplayLabel.java

1

import javax.swing.*;

 

2

 

 

 

 

3

public class DisplayLabel

extends JApplet

{

extend JApplet

4public DisplayLabel() {

5add(new JLabel("Great!", JLabel.CENTER));

6

}

7

}

Like JFrame, JApplet is a container that can contain other GUI components (see the GUI class diagrams in Figure 14.1).

18.3 The HTML File and the <applet> Tag

To run an applet from a browser, you need to create an HTML file with the <applet> tag. HTML is a markup language that presents static documents on the Web. It uses tags to instruct the Web browser how to render a Web page and contains a tag called <applet> that

incorporates applets into a Web page.

The HTML file in Listing 18.2 invokes the DisplayLabel.class:

LISTING 18.2 DisplayLabel.html

<html>

<head>

<title>Java Applet Demo</title> </head>

<body>

616 Chapter 18

Applets and Multimedia

 

<applet

applet class

 

code = "DisplayLabel.class"

 

 

width = 250

 

height = 50

>

 

 

 

</applet>

 

</body>

 

</html>

 

A tag is an instruction to the Web browser. The browser interprets the tag and decides how to

 

display or otherwise treat the subsequent contents of the HTML document. Tags are enclosed

 

inside brackets. The first word in a tag, called the tag name, describes tag functions. A tag can

 

have additional attributes, sometimes with values after an equals sign, which further define

 

the tag’s action. For example, in the preceding HTML file, <applet> is the tag name, and

 

code, width, and height are attributes. The width and height attributes specify the rec-

 

tangular viewing area of the applet.

 

Most tags have a start tag and a corresponding end tag. The tag has a specific effect on the

 

region between the start tag and the end tag. For example, <applet...>...</applet>

 

tells the browser to display an applet. An end tag is always the start tag’s name preceded by a

 

slash.

HTML tag

An HTML document begins with the <html> tag, which declares that the document is

 

written in HTML. Each document has two parts, a head and a body, defined by <head> and

 

<body> tags, respectively. The head part contains the document title, including the <title>

 

tag and other information the browser can use when rendering the document, and the body

 

part holds the actual contents of the document. The header is optional. For more information,

 

refer to Supplement V.A, “HTML and XHTML Tutorial.”

<applet> tag

The complete syntax of the <applet> tag is as follows:

 

<applet

 

[codebase = applet_url]

 

code = classfilename.class

 

width = applet_viewing_width_in_pixels

 

height = applet_viewing_height_in_pixels

 

[archive = archivefile]

 

[vspace = vertical_margin]

 

[hspace = horizontal_margin]

 

[align = applet_alignment]

 

[alt = alternative_text]

 

>

 

 

 

 

<param> tag

<param name = param_name1 value = param_value1>

 

<param name = param_name2 value = param_value2>

 

...

 

 

 

 

 

<param name = param_name3 value = param_value3>

 

</applet>

 

The code, width, and height attributes are required; all the others are optional. The

 

<param> tag will be introduced in §18.7, “Passing Strings to Applets.” The other attributes

 

are explained below.

codebase attribute

■ codebase specifies a base where your classes are loaded. If this attribute is not used,

 

 

the Web browser loads the applet from the directory in which the HTML page is

 

 

located. If your applet is located in a different directory from the HTML page, you

 

 

must specify the applet_url for the browser to load the applet. This attribute

 

 

enables you to load the class from anywhere on the Internet. The classes used by the

 

 

applet are dynamically loaded when needed.

archive attribute

■ archive instructs the browser to load an archive file that contains all the class files

 

 

needed to run the applet. Archiving allows the Web browser to load all the classes

18.3 The HTML File and the <applet> Tag 617

from a single compressed file at one time, thus reducing loading time and improving performance. To create archives, see Supplement III.Q, “Packaging and Deploying Java Projects.”

■ vspace and hspace specify the size, in pixels, of the blank margin to pad around the applet vertically and horizontally.

align specifies how the applet will be aligned in the browser. One of nine values is used: left, right, top, texttop, middle, absmiddle, baseline, bottom, or absbottom.

alt specifies the text to be displayed in case the browser cannot run Java.

18.3.1Viewing Applets from a Web Browser

To display an applet from a Web browser, open the applet’s HTML file (e.g., DisplayLabel.html). Its output is shown in Figure 18.3(a).

(a)

(b)

FIGURE 18.3 The DisplayLabel program is loaded from a local host in (a) and from a Web server in (b).

To make your applet accessible on the Web, you need to store the DisplayLabel.class and DisplayLabel.html on a Web server, as shown in Figure 18.4. You can view the applet from an appropriate URL. For example, I have uploaded these two files on Web server www.cs.armstrong.edu/. As shown in Figure 18.3(b), you can access the applet from www.cs.armstrong.edu/liang/intro8e/book/DisplayLabel.html.

 

http://www.webserver.com/appropriatepath/DisplayLabel.html

Web Server

 

Web Browser

 

 

 

The .html file and applet’s .class files

 

 

 

 

 

 

HTML Page

are stored in the Web server.

 

 

 

 

 

 

 

 

FIGURE 18.4 A Web browser requests an HTML page from a Web server.

18.3.2Viewing Applets Using the Applet Viewer Utility

You can test the applet using the applet viewer utility, which can be invoked from the DOS

prompt using the appletviewer command from c:\book, as shown in Figure 18.5(a). Its out- appletviewer put is shown in Figure 18.5(b).

The applet viewer functions as a browser. It is convenient for testing applets during development without launching a Web browser.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]