Endokrinologija
NAPREDNO JAVA PROGRAMIRANJE
Prof.dr Siniša Minić, dipl.ing.
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:

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

+---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.
Ovaj materijal je namenjen za učenje i pripremu, ne za predaju.
Slični dokumenti