Vous êtes sur la page 1sur 29

Miniaplications or applets

1. Introduction
2. Applet construction
3. Web pages integration
4. Images and sounds
5. Layout managers
7. Applet of the same HTML page communication

Tiberiu Leia: Ingineria sistemelor de programe Applet-uri AWT

1. Introduction
java numeAplicatie.class
NO main()
Can be displayed:
Netscape Navigator
Microsoft Internet Explorer
Sun HotJava
Mozilla etc.
Tiberiu Leia: Ingineria sistemelor de programe Applet-uri AWT

Security constraints
Forbiden:
- to read files from the new computer
- to communicate with applets from other sites
- to load programs
- to execute local programs
- to read system properties

Tiberiu Leia: Ingineria sistemelor de programe Applet-uri AWT

2. Applet construction
public class Applet extends Panel {
public Applet();
public void setStub(AppletStub stub);
public boolean isActiv();
public URL getDocumentBase();
public String getParameter(String name);
public AppletContext getAppletContext();
public void resize(int width, int height);
public void resize(Dimension dim);
public void showStatus(String msg);
public Image getImage(URL url);
public Image getImage(URL url,String name);
public AudioClip getAudioClip(URL url);
Tiberiu Leia: Ingineria sistemelor de programe Applet-uri AWT

public AudioClip getAudioClip(URL url,String name);


public String getAppletInfo();
public Locale getLocale();
public String[][] getParameterInfo();
public void play(URL url);
public void play(URL url,String name);
public void init();
public void start();
public void stop();
public void destroy();
}

Tiberiu Leia: Ingineria sistemelor de programe Applet-uri AWT

Container

Panel

MyApplet

Applet
+getImage()
+getAudioClip()

Tiberiu Leia: Ingineria sistemelor de programe Applet-uri AWT

public class NumeApplet extends java.applet.Applet {


public NumeApplet() {
//codul constructorului }
public void init() {
//codul de initializare se pot introduce aici fire de executie
}
public void start() {
//codul de pornire se pot starta fire daca au fost instantiate
de init()
}
public void stop() {
//codul de oprire poate sa opreasca fire daca este cazul
}
public void destroy() {
Tiberiu Leia: Ingineria sistemelor de programe Applet-uri AWT

//codul de eliminare a obiectelor si firelor


public void paint(Graphics g) {
//cod executat pentru afisare
}

Tiberiu Leia: Ingineria sistemelor de programe Applet-uri AWT

3. Integration of an applet into a Web page


<HTML>
<HEAD>
<TITLE> Pagina cu applet-ul construit </TITLE>
</HEAD>
<BODY>
<P> Comentariu referitor la applet:
<BR>
<APPLET CODE = NumeApplet.class
CODEBASE = JavaCode
WIDTH = 650
HEIGHT = 400>
</APPLET>
</BODY>
</HTML>
Tiberiu Leia: Ingineria sistemelor de programe Applet-uri AWT

/**
Clasa principala
unui applet "Exemplu
de miniaplicatie"
*/
Tiberiu
Leia:aIngineria
sistemelor
de programe

Applet-uri AWT

10

import java.awt.*;
public class NumeApplet extends java.applet.Applet
{
Font fnt=new Font("oarecare", Font.BOLD, 28);
String str="Acest text este scris de applet!";
public void paint(Graphics g)
{
g.setColor(Color.yellow);
g.fillRect(50,50,550,300);
g.setFont(fnt);
g.setColor(Color.red);
g.drawString(str,120,200);
}
}
Tiberiu Leia: Ingineria sistemelor de programe Applet-uri AWT

11

400

300

(50,50)

550
650

Tiberiu Leia: Ingineria sistemelor de programe Applet-uri AWT

12

4. Images and sounds


Image abstract class
Constructor Image().
Methods:
flush() terge toate resursele obiectului Image
getGraphics() creeaz un context grafic pentru desenarea n afara
ecranului a imaginii:
getHeight(ImageObserver) - returneaz nlimea imaginii
getProperty(String, ImageObserver)
getScaleInstance(int,int,int)
getSource()
getWidth(ImageObserver) - returneaz limea imaginii.

Tiberiu Leia: Ingineria sistemelor de programe Applet-uri AWT

13

Image
imagine=getImage(getCodeBase(),"NumeFisier.jpg");
int latime=imagine.getWidth(this);
int inaltime=imagine.getHeight(this);
g.drawImage(imagine,20,30,latime,inaltime,this);

Tiberiu Leia: Ingineria sistemelor de programe Applet-uri AWT

14

Sounds
Se pot reda fiiere AIFF, AU, WAF, MIDI i RMF. Maina de sunete
poate reda date audio pe 8 sau pe 16 bii.
Pentru redarea fiierelor audio au fost introduse n clasa Applet metodele
getAudioClip(URL) i getAudioClip(URL,String) cu care se obin obiecte
AudioClip din fiiere audio de tip Sun care trebuie s fie redate. Fiierele
audio care pot fi redate au extensia au sau wav.

AudioClip Interface
Methods:
loop() - red un clip audio n bucl
play() red clipul audio (fr repetare) i
stop() oprete redarea clipului audio.
Tiberiu Leia: Ingineria sistemelor de programe Applet-uri AWT

15

Pentru ncrcarea fiierului audio se execut instruciunea:


AudioClip
sunet=getAudioClip(getCodeBase(),"NumeFisier.au")
;
sunet.play();
sunet.loop();

Tiberiu Leia: Ingineria sistemelor de programe Applet-uri AWT

16

6. Layout managers

Tiberiu Leia: Ingineria sistemelor de programe Applet-uri AWT

17

FlowLayout aranjare=new FlowLayout(FlowLayout.CENTER);


BorderLayout
CardLayout
FlowLayout
GridBagLayout
GridLayout

Tiberiu Leia: Ingineria sistemelor de programe Applet-uri AWT

18

BorderLayout
Applet
North

West

Center

East

South

Fig. 10.5. Afiarea cu gestionarul de machetare BorderLayout

Tiberiu Leia: Ingineria sistemelor de programe Applet-uri AWT

19

Panel p=new Panel();


Button but=new Button(Buton 1);
p.setLayout(new BorderLayout());
p.add( but,South);
BorderLayout(int,int)

Tiberiu Leia: Ingineria sistemelor de programe Applet-uri AWT

20

GridLayout
GridLayout aranjare=new GridLayout(7,3);
//insereaza etichetele
add(etic1);
add(etic2);
add(etic3);
//insereaza butoanele
add(but1);
add(but2);
add(but3);
//asociaza interceptoare de evenimente pt.
butoane
but1.addMouseListener(this);
but2.addMouseListener(this);
but3.addMouseListener(this);
//insereaza casetele de validare
Tiberiu Leia: Ingineria sistemelor de programe Applet-uri AWT

21

add(cas1);
add(cas2);
add(cas3);
//insereaza etichete si campuri
add(etcmp1);
add(cmp1);
add(etcmp2);
add(cmp2);
add(etcmp3);
add(cmp3);

Tiberiu Leia: Ingineria sistemelor de programe Applet-uri AWT

22

Tiberiu Leia: Ingineria sistemelor de programe Applet-uri AWT

23

NO Layout manager
setLayout(null);
Button b=new Button(...);
b.reshape(poz.x,poz.y,widht,height);

Tiberiu Leia: Ingineria sistemelor de programe Applet-uri AWT

24

8. Applet communication
in the same HTML page
static variables
using Web server
applet context (AppletContext)
NumeClApplet appl1= (NumeClApplet)
getAppletContext().getApplet(NumeApplet);
getAppletContext().showStatus(Applet-ul este activ);

Tiberiu Leia: Ingineria sistemelor de programe Applet-uri AWT

25

Tiberiu Leia: Ingineria sistemelor de programe Applet-uri AWT

26

Tiberiu Leia: Ingineria sistemelor de programe Applet-uri AWT

27

*
****
*********
****
*
Tiberiu Leia: Ingineria sistemelor de programe Applet-uri AWT

28

Tiberiu Leia: Ingineria sistemelor de programe Applet-uri AWT

29

Vous aimerez peut-être aussi