NAPREDNO JAVA PROGRAMIRANJE

Prof.dr Siniša Minić, dipl.ing.

[email protected]

Postoje dve kategorije JAVA programa:

1. Java apleti (

applets

)

2. Java aplikacije

Java apleti su programi ugrađeni u HTML dokumente koji se izvršavaju u lokalnom Web

navigatoru. Za njihovo izvršavanje neophodno je da navigator poseduje ugrađene JAVA
sposobnosti, ali se mogu pogledati i pomoću alata zvanog

appletviewer

koji dolazi u okviru

JDK

.

Java aplikacije ne zahtevaju navigator da bi se pokrenuli, a neki Java program može biti

aplet ili aplikacija ili jedno i drugo u zavisnosti od funkcionalnosti koja je ugrađena u
program.

Primer 1: Java

aplikacija

za primer ispisa niske

Zdravo, svete

na standardni izlaz.

class ZdravoSvete {

public static void main (String args[])

{

System.out.println("Zdravo, svete");

}

}

Postoje dva suštinska dela ovog programa:

definicija:

kompletan program je zatvoren u definiciju klase koja se ovde zove ZdravoSvete

telo programa:

kao i u C/C++ funkcija

main( )

je prva funkcija koja se izvršava po

startovanju programa.

1. Nakon što je program unet u editor (ma koji editor), izvorna datoteka se čuva sa

ekstenzjom

.java

2. Praksa je da se izvornom kodu daje ime klase koja je u njemu definisana, dakle datoteku

nazovite

ZdravoSvete.java

3. Kompajlirajte datoteku

javac

kompajlerom, tj. u komandnoj liniji otkucajte

javac ZdravoSvete.java

4. Kompajler će kao izlaz dati fajl istog imena sa ekstenzijom

.class

(ekstenzija izvršnih

Java programa)

5. Pokrenite program

java

interpreterom, tj. u komandnoj liniji otkucajte

java ZdravoSvete

Dakle, postoje tri suštinska koraka u stvaranju/izvršavanju programa:

1. pisanje kôda
2. kompilacija izvornog kôda
3. pokretanje kompajliranog kôda

Pod UNIXom kompilacija i izvršavanje izgleda ovako:

javac ZdravoSvete.java
java ZdravoSvete
Zdravo, svete

Ako se na računaru Java kompajler (javac), Java interpreter (java) i ostali alati nalaze u
direktoriju /nesto/java/bin, onda dodati putanju direktorijuma u $PATH promenljivu:
% export PATH=$PATH:/nesto/java/bin

Pod Windows-om mora se koristiti DOS-shell pri upotrebi JDK:

C:> javac ZdravoSvete.java
C:> java ZdravoSvete
Zdravo, svete
C:>

Pri tom se podesi vrednost promenljive PATH tako da sadrži adekvatni direktorijum gde je
instaliran jdk, npr . . .;c: estojdk1.4.0_02bin; . . . (definisana u odgovarajućoj liniji
datoteke autoexec.bat ili se podesi vrednost putem
Start => Settings => System=> Environment Variables => PATH )

/******Primetite upotrebu .java ekstenzije kod kompajliranja, ali ne i .class ekstenzije
kod izvršavanja!!!***********/

Preporuke pri izradi Java programa

1. Fajlovi koji sadrže izvorni kod nazvati po definisanim klasama unutar fajla, jer kompajler
će kao izlaz dati fajl sa ekstenzijom .class i imenom klase koja je u fajlu definisana, te nije
zgodno da nazivi datoteka sa izvornim i izvršivim kodom budu različiti.
2. Zgodno je definisati jednu klasu u jednom fajlu, jer kompajler svaku prevedenu klasu
smešta u poseban .class fajl, te je moguće od jedne izvorne datoteke dobiti više .class fajlova
što može biti neudobno za celokupnu organizaciju na disku.
3. Java interpreter

java

je osetljiv na veličinu slova (case sensirive) u nazivu datoteka.

4. Pri interpretiranju ne kucati ekstenziju .class iza naziva programa, jer zbog interne
koncepcije jezika tačka može biti protumačena kao deo puta do izvršive verzije.

Ispis na standardni izlaz

U prethodnoj aplikaciji za ispis poruke

Zdravo, svete

na standardni izlaz je upotrebljen metod

println, tj.

System.out.println("Zdravo, svete");

Za ispis linije koristi se metod println(...) iz klase PrintStream. U našem prvom Java programu
System.out.println() ispisuje sadržaj toka standardnog izlaza System.out
klase System, u ovom slučaju tekst poruke iza kog sledi separator linije. Zavisno od platforme
to moze biti:

background image

Razvijni put aplikacije

Prvi

JAVA

aplet

Applet ZdravoAplet

Jedan od razloga popularnosti Jave je mogućnost pisanja interaktivnih apleta na Web-u.
Naredni aplet nije baš interaktivan, jer je primer jednostavnog apleta koji ispisuje tekst poruke
u HTML dokument:

import java.applet.Applet;
import java.awt.Graphics

public class ZdravoAplet extends Applet {

public void paint(Graphics g) {

g.drawString("Zdravo, svete!", 5, 50);}

}

Aplet ZdravoAplet jeste malo kompleksniji u odnosu na aplikaciju ZdravoSvete. Zatim,
potrebno je i više posla pri pokretanju.
Kao i pri izradi aplikacije urade se dva koraka: unos izvornog koda u editor i čuvanje u
datoteci ZdravoSvete.java i kompilacija.

Rezultat je klasa ZdravoAplet.class. Za potrebe njenog pokretanja kreira se HTML

dokument koji će sadržati aplet, npr.datoteka ZdravoAplet.html

<html>
<head>
<title> Zdravo aplet </title>
</head><body>

<applet code = "ZdravoAplet.class" width=400 height =400 >

</applet>

</body>
</html>

Jednostavnosti radi, neka se datoteka datoteka ZdravoAplet.html i datoteka datoteka
ZdravoAplet.class nalaze u istom direktorijumu.
HTML datoteka se može pregledati pomoću

Java enabled

browsera kao što je

Internet

Explorer

,

Netscape

ili

Applet viewer

koji se nalazi u JDK paketu.

Vidi se string Zdravo, svete ! unutar pravougaonika veličine 400x400 pixel-a.

Ako je kompilacija prošla bez greške, a ne vidi se string Zdravo, svete !, onda:

1. proveriti da li klasa je u istom direktoriju kao i HTML datoteka
2. proveriti da li koristete verziju navigatora koja podržava Javu.
3. ako ni a

ppletviewer

ne vidi aplet, proveriti aplet, pa potom kompatiblnost navigator-a

Razvojni put apleta

background image

+---java.awt.Component

|

+---java.awt.Container

|

+---java.awt.Panel

|

+---java.applet.Applet

HTML oznaka <APPLET>

Appleti se u HTML kod ugrađuju pomoću oznake

<APPLET>

i

</APPLET>

. Oznaka

<APPLET>

se ponaša na Web strani poput oznake

<IMG>

. Kompajlirana klasa koja sadrži kod

apleta kod referencira se pomocu atributa

CODE, a

lokacija se zadaje relativno u odnosu na

izvorni HTML dokument.
Na primer, ako je URL HTML dokumenta

http://www.nesto.com/java/index.html

, i ako se u

HTML kodu applet referiše sa

CODE="Nesto.class"

, onda URL datoteke Nesto.class je

http://www.nesto.com/java/Nesto.class

.

Ali, ako se aplet ne nalazi u istom direktoriju kao i HTML dokument, ne može se u atributu
<CODE> jednostavno navesti njegov URL, nego se koristi još i atribut

CODEBASE

za

preciziranje URL fragmenta koji pokazuje put do apleta. Na primer, da je HTML stranica sa
apletom ZdravoAplet bila napisana kao

<APPLET CODE="ZdravoAplet.class"

CODEBASE="JavaKlase"

WIDTH=200 HEIGHT=200>

</APPLET>

onda bi browser pokušao tražiti klasu ZdravoAplet.class u poddirektorijumu JavaKlase onog
direktorijuma u kom se nalazi HTML dokument.
Slično, ako postoji fragment

<APPLET CODE="ZdravoAplet.class"

CODEBASE="http://www.nesto.com/java/JavaKlase"

WIDTH=200

HEIGHT=200></APPLET>

onda će browser pokušati naći klasu na adresi

http://www.nesto.com/java/JavaKlase/ZdravoAplet.class

bez obzira gde se nalazi HTML

dokument.
Ukratko, browser pokušava rekonstruisati URL po formuli (

CODEBASE

+ "

/

" +

CODE

). Jednom

kad je URL formiran, važe sva pravila o relativnim i apsolutnim URL-ovima.
Ekstenzija .class se može izostaviti u atributu

CODE

i navesti samo ime klase. Na primer

<APPLET

CODE="ZdravoAplet"

CODEBASE="http://www.nesto.com/java/JavaKlase"
WIDTH=200 HEIGHT=200></APPLET>

Ako applet nije u

default

paketu, potrebno je pisati puno ime paketa. Na primer

<APPLET

CODE="program.myApplets.ZdravoAplet"

CODEBASE="http://www.nesto.com/java/JavaKlase" WIDTH=200
HEIGHT=200></APPLET>

U ovom primeru browser traži klasu na adresi
http://www.nesto.com/java/JavaKlase/program/myApplets/ZdravoAplet.class, te struktura
direktorijuma na serveru mora biti u skladu s hijerarhijom paketa.
Atributi

HEIGHT

i

WIDTH

imaju svojstva slična istoimenim atributima oznake

IMG

, tj. određuju

dimenzije pravougaonika koji rezerviše browser za prikaz appleta. Veličine se zadaju u
pikselima i nisu opcione.

Želiš da pročitaš svih 154 strana?

Prijavi se i preuzmi ceo dokument.

Ovaj materijal je namenjen za učenje i pripremu, ne za predaju.

Slični dokumenti