Tài liệu JAVA-6 - Pdf 85

1
Chng 6 Applets

Sau khi kết thúc chương này, bạn có thể nắm được các nội dung sau:
Sau khi hoc xong chng nay, ban co thê nm đc cac nơi dung sau:
 Hiêu đc cac Applet cua Java
 Phân biêt applet va cac ng dung application
 Tim hiêu chu trinh sơng cua mơt applet
 Tao cac applet
 Hiên thi cac hinh anh s dung applet
 Trun tham sơ cho applet
 Tim hiêu ng dung cua applet trong GUI

6.1 Java AppletApplet la mơt chng trinh Java co thê chay trong trinh dut web. Tât ca cac applet đêu
la cac lp con cua lp ‘Applet’.
Lp Applet thc package ‘java.applet’. Lp Applet bao gơm nhiêu phng thc đê điêu
khiên qua trinh thc thi cua applet. ê tao applet, ban cân import hai goi sau:
 java.applet
 java.awt

6.2 Câu truc cua mơt Applet

Mơt Applet đinh nghia câu truc cua no t 4 s kiên xay ra trong st qua trinh thc thi.
ơi vi mơi s kiên, mơt phng thc đc goi mơt cach t đơng. Cac phng thc nay
đc minh hoa trong bang 6.1
iêu quan trong la khơng phai luc nao applet cung bt đâu t ban đâu. Ma no bt đâu t
vi tri tiêp theo cua qua trinh thc thi trc đo.
Ngoai nhng phng thc c ban nay, con co nhng phng thc ‘paint()’ va ‘repaint()’.

ây la vi du đn gian cua applet. Câu lênh sau tao môt lp co tên la ‘Applet1’, lp nay se
kê tha tât ca cac phng thc va biên cua lp ‘applet’.

public class Applet1 extends Applet

Phng thc init() va paint() thng đc dung đê thc hiên môt sô ham đê khi tao va
ve applet. Phng thc ‘g.drawstring()’ chi ra vi tri ma đoan vn ban đc ve  đâu trên
man hinh.

Chng trinh 6.1 hiên thi môt chuôi  dong 70 va côt 80:

Chng trinh 6.1

import java.awt.*;
import java.applet.*;
public class Applet1 extends Applet
{
int num;
public void init()
{
num = 6;
}
public void paint (Graphics g)
{
g.drawString (“Hello to Applet. Chapter ” + num, 70, 80);
showStatus (getAppletInfo());
//Hiên thi môt chuôi đc tra vê t ham getAppletInfo() trên thanh trang
thai
}
public String getAppletInfo() //user overrides

code. Luc đo, applet đc dich, va thc thi bng cach s dung lênh sau:

Appletviewer Applet1.java

Sau đây la kêt qua cua chng trinh trên: 4

Hinh 6.1 Applet

6.2.1 S khac nhau giua Application va AppletSau đây la s khac nhau gia application va applet:
 ê thc thi cac application chung ta dung trinh thông dich Java, trong khi đo applet
co thê chay đc trên cac trinh duyêt (co hô tr Java) hay s dung công cu
AppletViewer, công cu nay đi kem vi JDK.
 Qua trinh thc thi cua application bt đâu t phng thc ‘main()’. Tuy nhiên applet
thi không lam nh vây.
 Cac application s dung ‘System.out.println()’ đê hiên thi kêt qua ra man hinh trong
khi đo applet s dung phng thc ‘drawstring()’ đê xuât ra man hinh.

Môt điêu đang lu y la môt chng trinh Java đn le thi co thê va la application va la
applet. Chc nng cua applet đc bo qua khi no đc thc thi nh la môt application va
ngc lai.

Chng trinh 6.2 se minh hoa điêu nay

Chng trinh 6.2

dung cu phap sau:

appletviewer both.java

Kêt qua nh sau:

Hinh 6.2 Applet

Nêu chay chng trinh trên nh môt application, thi s dung cu phap sau:

java both

Kêt qua la:
Hinh 6.3 Application

Khi applet chay trên trinh duyêt web, đc điêm nay thc s hu ich khi ban muôn tai
applet trong môt frame mi. Vi du: trong applet đc tao đê chat, môt sô website s dung
môt ca sô chat riêng biêt đê chat. Ban cung co thê kêt hp cac đc điêm cua frame va
applet vao trong môt chng trinh.

6.2.3 Nhng gii han bao mât trên applet

6
Co môt sô han chê ma applet không thê lam đc. Bi vi cac applet cua Java co thê pha
hong toan bô hê thông cua user. Cac lâp trinh viên Java co thê viêt cac applet đê xoa file,
lây cac thông tin cac nhân cua hê thông…
Vi thê, cac applet cua java không thê lam cac viêc sau:


Destroy
Stop
Creation
Initalization
Starting
7
Phng thc ‘stop()’ chi đc goi khi user không con  trang đo na, hoc trang đo đa
đc thu nho lai  di thanh taskbar.

Kê tiêp la phng thc ‘destroy()’. Phng thc nay giup applet don dep trc khi no
đc giai phong khoi vung nh, hoc trc khi truyêt duyêt kêt thuc. Phng thc nay
đc dung đê huy nhng luông (thread) hay qua trinh đang chay.

Phng thc ‘destroy()’ khac vi phng thc finalize() la phng thc destroy() chi
dung cho applet, trong khi finalize() la cach tông quat đê don dep applet.

Phng thc paint() cung la môt phng thc quan trong khac. Phng thc nay cho
phep ta hiên thi môt cai gi đo trên man hinh. Co thê la text, đng thng, mau nên, hoc
hinh anh. Phng thc nay xay ra nhiêu lân trong suôt qua trinh applet tôn tai. Phng
thc nay thc thi môt lân sau khi applet đc khi tao. No se lp đi lp lai khi di chuyên
t ca sô trinh duyêt sang ca sô khac. No cung xay ra khi ca sô trinh duyêt thay đôi vi
tri cua no trên man hinh.

Phng thc ‘paint()’ co môt tham sô. Tham sô nay la đôi tng cua lp Graphics. Lp
Graphics thuôc lp java.awt, chung ta phai import trong đoan code cua applet. Chung ta
co thê s dung đoan ma sau:

import java.awt.Graphics;


/*getParameter returns the value of the specified pareameter in the form of a
String object*/
String str = getParameter("mybutton");
//when no parameter is passed
if (str==null)
str = new String ("Default");
//when parameter is passed
bNext = new Button(str);
add (bNext);
}
}

Sau đây la kêt qua cua chng trinh trên:
Hinh 6.5: truyên tham sô cho applet
Bây gi chung ta se s dung lp Graphics đê ve cac hinh chng han nh: đng thng,
hinh oval, va hinh ch nhât. Chung ta se hoc lp Font trong cac phân sau. Lp nay co thê
dung đê in vn ban bng bât c font nao.

6.5 Lp Graphics

Java cung câp goi AWT cho phep ta ve cac hinh đô hoa. Lp Graphics bao gôm tâp hp
rât nhiêu phng thc. Nhng phng thc nay đc s dung đê ve bât c hinh nao
trong cac hinh sau:

 Oval
 Rectangle
 Square

paint (g);
}

 đây, phng thc update() se không xoa nhng đôi tng đa ve, nhng chi goi phng
thc paint(). ê lam đc điêu nay, no truyên đôi tng cua lp Graphics hoc
GraphicsContext cho phng thc paint().  đây, đôi tng cua lp Graphics la ‘g’.

6.5.1 Ve cac chuôi, cac ky t va cac byte

Chng trinh sau minh hoa cac ve cac chuôi, ky t va cac byte.
ê ve hoc in môt chuôi, lp Graphics cung câp phng thc ‘drawString()’. Cu phap
nh sau:

DrawString (String str, int xCoor, int yCoor);

Ba tham sô la:
 Chuôi cân ve.
 Toa đô X trên frame, ni chuôi cân đc ve.
 Toa đô Y trên frame, ni chuôi cân đc ve.
10

ê ve hoc xuât cac ky t trên frame, lp Graphics cung câp phng thc ‘drawChars’.
Cu phap nh sau:

DrawChars (char array[], int offset, int length, int xCoor, int yCoor);

Chu thich cac tham sô:
 Mang cac ky t.
 Vi tri bt đâu, ni cac ky t đc ve.
 Sô cac ky t cân đc ve.

}
public void paint(Graphics g)
{
g.drawString ("Good Morning", 50, 50);
g.drawString ("Good Afternoon", 50, 75);
g.drawString ("Good Night", 50, 100);


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status