You are on page 1of 7

Hn1epne1 nporpaunpane c 1ava - uac1 4

Aemop. Cnernnn Haxon,


Co]ncxn Vnnnepcnrer 'Cn. Knnmenr Oxpncxn
Web-site. http://www.nakov.com
Hoc.eoua npo+ua. 19.07.2002

B npexonara rema nsxcnnxme xax ce paorn c UDP n Multicast coxern, a cmo raxa n
cpecrnara xonro nn ana nnar]opmara Java sa ocrn o URL pecypcn. C rona npnxnmunxme
npnara uacr or namnx saouen xypc no nporpamnpane na Java sa Hnrepner paora cc coxern.
Hpecron nn a ce sanosnaem c nropara uacr na xypca paspaorxa na Java annern.

1AVA anne1n
o npen ecernna ronnn eme cnnno pasnpocrpaneno cxnamanero, ue esnxr Java cnyxn
enncrneno sa csanane na annern. Ho rona npeme rona cxnamane eme n ronxma crenen npannnno,
samoro Java npnonauanno eme nnannpan n rouno sa rona n nsnonsnanero my sa pyrn nenn sanouna
no-xcno. Pasnnrnero na esnxa npes nocnennre 5-6 ronnn, oaue, xopenno npomenn ponxra my n
cnera na nporpamnpanero n Java crana ena or na-nonynxpnnre nnar]opmn sa paspaorxa na
xopnoparnnnn co]ryepnn cncremn. Annernre, nnpexn ue neue ne saemar nenrpanna uacr n Java
nnar]opmara, nce ome cn ocranar ena nnrepecna nacoxa n Hnrepner nporpamnpanero, xoxro cn
crpyna a pasrneame.
Hpen a npncrnnm xm noneue erann, rpxna a cn nsxcnnm xaxno e Java anner. Annerr e
xomnnnnpana nporpama na Java, xoxro ce nrpaxa xaro oexr n onxnonena Web-crpannna n ce
nsnnnxna or Web-payspa no npeme na pasrnexanero na rasn crpannna. Annernre ce nrpaxar n
Web-crpannnnre no naunn mnoro nooen na nrpaxanero na xaprnnxn, no sa pasnnxa or rxx, re ne
ca npocro rpa]nunn nsopaxennx, a nporpamn, xonro nsnonsnar npanornnara onacr, xoxro
poysepr nm e an, sa rpa]nunnx cn norpenrencxn nnrep]ec. Annernre npnrexanar nourn nxnara
mom xoxro nn ana Java nnar]opmara, no c nsnecrnn orpannuennx, npensnnxann rnanno or
copaxennx sa cnrypnocr. 3a a ce ocnrypn esonacnocrra na norpenrenx, na annernre e
nosnoneno a nsnpmnar camo onepannn, xonro ne morar a ocmecrnxr ocrn o norpenrencxara
nn]opmannxra na mamnnara, na xoxro ce nsnnnxnar. Annernre npecrannxnar xomnnnnpana Java
nporpama nn nn na .class ]an nnn cnxynnocr or xomnnnnpann Java xnacone, sanncann n .jar ]an.
Kaxro snaem ncnuxn Java nporpamn ce nsnnnxnar or Java nnpryanna mamnna (JVM) n sarona
payspnre, xonro nopxar annern nmar nrpaena n cee cn nnn onnnnrenno nncrannpana
nnpryanna mamnna. Hpn ornapxnero na HTML oxymenr c annern, paysepr sapexa Java
nnpryannara cn mamnna n craprnpa annernre n nex.
B noneuero cnyuan Java annernre nacnexnar xnaca java.applet.Applet n npnnoxpnnar
meronre my sa nnnnnannsannx n sa nsopasxnane na expana cornerno init() n paint(). B meroa
paint() annerr nsopasxna rpa]nuno na expana rexymoro cn ccroxnne nsnonsnaxn cranaprnnre
cpecrna na Java sa csanane na rpa]nuen norpenrencxn nnrep]ec AWT (Abstract Window
Toolkit). Tesn cpecrna ce namnpar n naxera java.awt n me ar pasrneann no-xcno. a
pasrneame enn cncem npocr anner:
import java.applet.Applet;
import java.awt.Graphics;

public class HelloWorldApplet extends Applet {
public void paint(Graphics g) {
g.drawString("Hello world!", 50, 25);
}
}
B rosn npnmep enncrnenoro, xoero npann annerr, e n meroa cn sa nsopasxnane na expana a
ueprae rexcr n onacrra, xoxro my e aena or payspa na nosnnnx (50, 25) c mpn]ra no
nopasnpane. Csananero na annera HelloWorldApplet.java n xomnnnnpanero my o .class ]an
ne e ocraruno sa a moxe ro a ce nsnnnn. 3a pasnnxa or nopmannnre Java nporpamn annernre ne
e sanxnrenno a nmar main() mero. 3a a nnnm pesynrara or namnx anner rpxna a nanpannm
Web-crpannna, n xoxro a ro nmxnem xaro oexr. Ero enn npnmep xax crana rona:
<html><body>
<p align="center">This is the applet:<br><br>
<applet code="HelloWorldApplet.class"
width="150" height="50">
</applet></p>
</body></html>
Hsnonsnaxme HTML rara <applet>, n xoro saaoxme nmero na xnaca, xoro ncxame a nmxnem
xaro oexr, xaxro n pasmepnre na onacrra or Web-crpannnara, xoxro my ce npeocranx. Axo
sannmem rosn HTML xo nn ]ana index.html n ornopnm rosn ]an c Internet Explorer, me
nonyunm pesynrar nooen na cnennx:

pyr naunn a nsnnnnm annera nn ana nporpamara appletviewer, xoxro e nxnmuena xm
cranaprnara nncranannx na JDK. C nex cmo moxem a nsnnnxname annern, no sa pasnnxa or
cranaprnnx paysp, appletviewer ana noneue npana na annera n paorn c rexymara nepcnx na JDK.
Karo napamerp appletviewer npnema nme na HTML ]an, xoro cpxa anner. Bnpocr c
nepcnnre na JDK n cnmecrnmocrra ocranxme sa no-nararx, a cera nexa nannesem n noneue erann
ornocno rona xax ce csanar annern.
Knacr java.applet.Applet e ason xnac sa ncnuxn annern n e nacnennx na java.awt.Panel.
Cneonarenno ro npecrannxna AWT xonrenep n moxe a ce nsnonsna sa nocranxne na pasnnunn
AWT xomnonenrn c nen nsrpaxane na norpenrencxn nnrep]ec. Ocnen sa rona, ro moxe a ce
nsnonsna cmo n sa npexrno pncynane cc cpecrnara na AWT, xaxro rona e nanpaneno n ropnnx
npnmep. Knacr java.applet.Applet ana asonara ]ynxnnonannocr na annernre n npeocranx na
nacnennnnre cn meron sa nsanmoecrnne c paysepa n nnmnnx cnxr. a npocnenm xnsnennx
nnxn na enn anner xaxno ce cnyuna or momenra na sapexane na HTML-crpannnara c annera o
momenra, n xoro ce sarnopn paysepr nnn ce npemnne na pyra crpannna. Hpnonauanno paysepr
uere HTML oxymenra n namnpa <applet> raronere. 3a ncexn or rxx namnpa n sapexa xnac ]ana,
xoro e yxasan, nncrannnpa ro n Java nnpryannara cn mamnna n sanouna a ro nsnnnxna.
Hsnnnennero na anner ce ccron n cnenoro: Hsnnxna ce init() meroa. Hsnnxna ce start() meroa.
oxaro annerr paorn, paysepr my noana ncnuxn cnrnx, npenasnauenn sa nero n ro
ononecrxna, xoraro e neoxonmo a ce npeueprae nopan nxxaxna npnunna. Cnrnxra, ornacxmn ce
o annera, xaro xnnxnane c mnmxara, narncxane na xnannm n p. ce noanar na meroa
handleEvent(), xoro nsnpmna neoxonmoro re a ce opaorxr or AWT xonrponara, sa xoxro ca
npenasnauenn. Cnrnxra sa npeuepranane nsnnxnar xoraro ce npomenn nnnmara uacr or annera,
nanpnmep npn cxponnpane na oxymenra nnn npn sacnuane na annera c pyr nposopen.
Opaorunxr na resn cnrnx npensnnxna nsnnxnane na meroa paint(), npn nsnnnennero na
xoro annerr e nxen a ce npeueprae. Hpn npnxnmunane na nsnnnennero na annera, paysepr
nsnnxna nocneonarenno meronre stop() n destroy(). Meror init() ce nsnnxna enoxparno cne
xaro annerr e nncrannnpan, r.e. e csaen xaro oexr nn nnpryannara mamnna na payspa. B
nero annerr moxe a csae xonrponnre or norpenrencxnx cn nnrep]ec, a nanpann nxxon
nnnnnannsannn n ncnuxo ocranano, xoero rpxna a ce nsnnnn enoxparno, npen annerr a e
craprnpan. Meror start() ce nnxa cne nnnnnannsannxra n cne pecraprnpane na annera. 3a
pasnnxa or init(), meror start() moxe a ce nsnnxa noneue or nenx. Meror stop() ce
nsnnxna, xoraro paysepr nanycxa crpannnara, n xoxro e sapeen annera. Cne stop() ncnuxn
nnmxn na annera mnnanar n ccroxnne na naysa. Hpn npmane oparno n crpannnara c annera, ce
nnxa start(). Tpxna a orenexnm ue noneuero payspn peannsnpar no pasnnuen start() n stop()
meronre n sarona nsnonsnanero nm rpxna a crana nnnmarenno, a npn nsmoxnocr a ce nsxrna.
Meror destroy() ce nsnnxna enoxparno npen annerr a ce ynnmoxn or paysepa.
AWT npecrannxna nnar]opmeno-nesanncnma nnnorexa or xnacone, xoxro nosnonxna
csanane na rpa]nuen norpenrencxn nnrep]ec c Java n ana nxnocren xomnonenrno-opnenrnpan
Iramework sa csanane na npnnoxennx, xonro nsnonsnar rpa]nxa n nsanmoecrnar axrnnno c
norpenrenx. Tosn Iramework nn npeocranx cranapren naunn sa paora c rpa]nunn xomnonenrn,
xaro yronn, rexcronn nonera, xaprnnxn, rexcr n r.n., a cmo n mexannsm sa opaorxa na
cnrnxra nsnnxnann n pesynrar or nsanmoecrnnero mexy norpenrenx n nporpamara, xaro
nanpnmep mpaxnane c mnmxara, nxo or xnannarypara n r.n. Fnnnorexara AWT e ronxona ronxma,
ue sa noponoro onncanne e neoxonmo mnoro noneue npocrpancrno or rona, c xoero
pasnonarame. 3arona es a nperennpame sa nnnora me nanpannm camo eno xparxo uacrnuno
nneenne n AWT n ro rnanno sa a nsxcnnm rona, xoero nn e neoxonmo sa a nnmem annern.
Hopono onncanne na nnnorexara moxe a ce namepn na cara na xypca 'Hnrepner
nporpamnpane c Java http://inetjava.sourceIorge.net, a cmo n n oxymenrannxra na JDK.
Koopnnarnara cncrema na anner c pasmepn sizeX n sizeY sanouna or nosnnnx (0,0), xoxro
orronapx na ropnnx my nxn rn n sanpmna n nosnnnx (sizeX-1, sizeY-1), xoxro orronapx na onnnx
my ecen rn. Hsopasxnanero na rpa]nunn oexrn crana upes xnaca java.awt.Graphics, oexr or
xoro ce noana na paint() meroa na annera. Bcexn Graphics oexr nma cox cocrnena
xoopnnarna cncrema n ncexn AWT rpa]nuen xomnonenr nma cno cocrnen Graphics oexr, upes
xoro peannsnpa nnsyannsannxra cn. Knacr Graphics nn ana meron sa ueprane na ocnonnnre
rpa]nunn oexrn, xaro nnnnn, npanornnnnn, ennncn, sannnenn mnorornnnnn, rexcr c
pasnnunn mpn]rone n mnoro pyrn. Onncanne na meronte, c xonro ce uepraxr resn oexrn
(drawLine(), drawRect(), fillRect(), clearRect(), drawOval(), fillOval(), drawArc(), fillArc(),
drawPolygon(), fillPolygon() n r.n.) moxe a ce namepn n oxymenrannxra. Ocnen npexrnoro
ueprane na reomerpnunn ]nrypn, AWT nosnonxna n nsopasxnane na xaprnnxn, sapaenn or GIF nnn
JPEG ]an. 3a nenra ce nsnonsna xnaca java.awt.Image n meroa na xnaca Graphics drawImage(),
xoro nma nxxonxo napnanra c pasnnunn nxonn napamerpn. Ha-necnnxr naunn sa sapexane na
xaprnnxa n Image oexr ce ana or meroa getImage() na xnaca Applet, xoro npnema URL xaro
napamerp. Ero enn npnmep xax moxem a sapenm xaprnnxa:
URL imageURL = new URL(
"http://www.nakov.com/images/dot.jpg");
java.awt.Image img = this.getImage(imageURL);
3a a nauepraem npxy annera sapeenara xaprnnxa moxem a nsnonsnane cnennx xo:
public void paint(Graphics g) {
g.drawImage(img, 20, 10, this);
}
Axo ncxame a nauepraem xaprnnxara c npomenenn pasmepn, moxem a nsnonsname ornono meroa
drawImage(), no c pyrn napamerpn:
g.drawImage(img, 0, 0, img.getWidth(this)/4,
img.getHeight(this)/4, this);
Bnnmarennnxr unraren nepoxrno e saenxsan, ue meror drawImage() nma enn napamerp, sa xoro
n namnre npnmepn aname cronocr this. Tona cncem ne e cnyuano n ce oxcnxna c apxnrexrypara
na AWT n naunna, no xoro ce paorn c xaprnnxn. Meror drawImage() npnema xaro nocneen
napamerp oexr, xoro peannsnpa nnrep]eca ImageObserver. 3apexanero na xaprnnxa n AWT
nnnarn e acnnxponno, r.e. nsnpmna ce napanenno c paorara na nporpamara. Tona e cncem
oocnonano, xaro ce nma npenn, ue sapexanero na xaprnnxa or Hnrepner ornema nsnecrno npeme,
a nporpamara moxe a ro nsnonsna sa pyrn nenn, nmecro a uaxa. Ho nex drawImage() ne nsuaxna
xaprnnxara a e sapeena n rorana a x naueprae, a ueprae camo rasn uacr or nex, xoxro neue e
sapeena n nenara npma ynpannennero na nsnnxnamnx mero. Koraro xaprnnxara ce sapen
nannno, ce nsnnxna meror imageUpdate() na nnrep]eca ImageObserver, xoro rpxna a opaorn
cnryannxra no noxoxm naunn. Onxnoneno peannsannxra na meroa imageUpdate() npeueprana
xaprnnxara. Knacr java.awt.Component, xoro e npaponren na xnaca java.applet.Applet peannsnpa
nnrep]ecr ImageObserver n n meroa cn imageUpdate() npeueprana onacrra or expana, xoxro e
oxnanara or xaprnnxara, xoxro ce e sapenna nannno. Hsnonsnaxn rasn asona ]ynxnnonannocr
na xnaca Applet, moxem nnnarn, xoraro sapexame xaprnnxn or anner, a noaname sa ImageObserver
camnx anner, r.e. oexra this. a pasrneame enn nxnocren npnmep sa anner, xoro nsnonsna
xaprnnxn n peannsnpa npocra annmannx. a cn nocrannm sa saaua nanpanara na anner, n xoro ena
ronxa nocroxnno ce nnxn n ce orncxna n crennre na annera npn yap. Eno nsmoxno pemenne
na saauara e cnenoro:
import java.awt.*;
import java.applet.*;
import java.net.URL;

public class BallApplet extends Applet
implements Runnable {

public static final int SPEED = 20;
Image ballImg;
int x, y, px, py;
Thread animateThread = null;
Image bufImg;
Graphics bufGr;

public void init() {
try {
String imgName =
getParameter("imgName");
ballImg = getImage(
getCodeBase(), imgName);
} catch (Exception ex) {
ex.printStackTrace();
System.exit(-1);
}
x = 1; y = 1; px = 1; py = 1;
bufImg = createImage(
getSize().width, getSize().height);
bufGr = bufImg.getGraphics();
}

public void paint(Graphics g) {
if (animateThread != null) {
// Paint in the buffer
bufGr.fillRect(0, 0,
getSize().width, getSize().height);
bufGr.drawImage(ballImg, x, y, this);
// Move the buffer to the screen
g.drawImage(bufImg, 0, 0, this);
}
}

public void start() {
if (animateThread == null) {
animateThread = new Thread(this);
animateThread.start();
}
}

public void stop() {
animateThread = null;
}

public void run() {
// Wait for the image to load completely
MediaTracker tracker =
new MediaTracker(this);
tracker.addImage(ballImg,0);
try {
tracker.waitForAll();
} catch (Exception ex) {}
// Calculate the animation area size
int maxX = this.getSize().width -
ballImg.getWidth(this);
int maxY = this.getSize().height -
ballImg.getHeight(this);
// Animate until interrupt is requested
while (animateThread != null) {
if ((x > maxX) || (x < 0))
px = -px;
x = x + px;
if ((y > maxY) || (y < 0))
py = -py;
y = y + py;
try {
Thread.sleep(SPEED);
} catch (Exception ex) {}
// Redraw the applet contents
paint(getGraphics());
}
}
}
Hexra sa paorara na annera e cnenara: Hpn nnnnnannsannx annerr sapexa xaprnnxara c
ronxara n csana enn oexr Image, xoro me nsnonsna sa y]ep. Hpn craprnpane na annera ce
csana ena nnmxa, xoxro ce rpnxn sa annmannxra. Henara ponx e a npomenx xoopnnarnre x n y
na ronxara crnacno rexymara nocoxa na nnxenne, a cmenx nocoxara npn yap n crena n cne
ncxxa npomxna na xoopnnarnre na ronxara a npeueprana annera. Hpeueprananero na annera paorn
cc cnennanen y]ep. Tosn y]ep ce nsnonsna sa a ce nserne npemnrnanero n a ce nonyun
nancrnna nnanno nnxenne. Bcn ncxxo npeuepranane na annera y]epr ce nsuncrna c fillRect(),
cne rona n nero ce naueprana ronxara na rexymara nosnnnx n cne rona na expana ce nsopasxna
cpxannero na rosn y]ep. Tasn rexnnxa sa nsxrnane na npemnrnanero npn csanane na
annmannx ce napnua nono y]epnpane (double buIIering). 3a peannsannxra ce csana oexr or
xnaca Image bufImg n ce paorn upes neronnx Graphics oexr bufGr. Bmecro a ce pncyna npexrno
npxy annera, ce pncyna n y]epa n roronnx xap or y]epa ce npexnpnx n annera. Hpn nsnnxnane
na stop() meroa annerr cnnpa nnmxara sa annmannx, a npn start() x csana n x craprnpa. Hmero
na ]ana, xoro cpxa xaprnnxara ce saana xaro napamerp na annera n ce nsema c meroa
getParameter(). Hapamerpnre na annernre cnyxar sa saanane na pasnnunn nacrpoxn es a e
neoxonma npexomnnnannx, xoero ce nanara axo resn nacrpoxn ca saaenn xaro xoncranrn. 3a
saananero nm nma cnennanen rar, xoro ce nnara n raxa <applet> rara <param>. Ero enn npnmepen
HTML xo, xoro craprnpa namnx anner n saana sa napamerpa nme na xaprnnxa imgName
cronocrra ball.jpg:
<html>
<head><title>Nakov Ball Applet</title></head>
<body>
<applet code="BallApplet.class" width="200"
height="150">
<param name="imgName" value="ball.jpg">
</applet>
</body>
</html>
B nnnnnannsannonnara cn uacr annerr nsnma napamerpa imgName n sapexa xaprnnxara c rona
nme or npexropnxra, or xoxro e sapeen annerr. URL, couemo xm rasn npexropnx moxe a ce
nonyun upes meroa getCodeBase(). Taxn e npannnnnxr naunn sa nsnnnuane na pecypc or anner ne
upes aconmren URL, a upes penarnnen URL cnpxmo npexropnxra, or xoxro e sapeen annerr.
Cne xaro e nsnnxan meror sa sapexane na xaprnnxa, rx e sanounana a ce nsnnnua or saaennx
URL, a npes rona npeme annerr csana xaprnnxa-y]ep sa nennre na annmannxra. Hpn nsnnxnane
na start() meroa annerr csana nnmxara sa annmannx n x craprnpa. Hpn craprnpane nnmxara
npno nsuaxna xaprnnxara c ronxara ballImg a ce sapen nannno. 3a nenra ce nsnonsna xnaca
MediaTracker, upes xoro moxe a ce npocnen ccroxnnero na sanounann a ce sapexar xaprnnxn.
a cn npnnomnnm ue paorara c xaprnnxn n AWT e acnnxponna! Cne xaro xaprnnxara e nannno
sapeena, moxem a cme cnrypnn, ue axo ce onnrame a nsemem pasmepnre, onepannxra me e
ycnemna. Tesn pasmepn, xaxro n pasmepnre na annera nsnonsname sa nsuncnxnane na nonero, n xoero
ronxara moxe a ce nnxn, raxa ue a ne nsnnsa or annera. Tona e npanornnara onacr (0, 0)
(maxX, maxY). Camara annmannx npecrannxna enn nnxn, n xoro ce nsuncnxnar nonnre
xoopnnarn na ronxara n annerr ce npeueprana c nsnnxnane na paint(getGraphics()). Mexy ncexn
na xapa or annmannxra ce nsuaxna nxxaxno npeme SPEED c nen ronxara a ne ce nnxn npexaneno
pso n a ce nnxn c npnnnsnrenno enaxna cxopocr na pasnnunn xomnmrpn. Hpn cnnpane na
annera c meroa stop() na npomennnnara animateThread, xoxro coun xm nnmxara sa annmannx ce
npncnoxna null n rona e snax sa run() meroa na rasn nnmxa, ue rpxna a npnxnmun paora. 3arona
n nnxna, n xoro ce nnxn ronxara, cronocrra na animateThread ce cnen nenpexcnaro. Taxn e
npenopunrennnxr naunn sa npexcnane na paorara na nnmxa. Ero n pasynrarr or namnx anner,
nnxn npes Internet Explorer:

3a a nsrnexa ope e neoxonmo xaprnnxara, xoxro npecrannxna ronxara (ball.jpg) a e no-
manxa or pasmepnre na annera n a e na uepen ]on.
Hpn paspaorxara na annern n npn recrnanero nm c Internet Explorer nnn pyr Web-paysp,
rpxna a nmame npenn nxxon nema. Honeuero payspn nsnonsnar xemnpane na pasnnunn oexrn
or Web-crpannnnre, nanpnmep xaprnnxn, crnnone n p. sa nocrnrane na no-ronxma cxopocr npn
sapexane na HTML oxymenr. Kemnpanero ce nsnonsna n sa annernre, nopan xoero rpxna a ce
nnnmana. Tpxna a ce snae, ue sanncnanero na nona nepcnx na annera n narncxane na yrona
'ReIresh ne rapanrnpa nsnnnennero na nonara nepnx. Hpn Internet Explorer cnrypen naunn sa
sapexanero na nocnenara nepcnx na annera e narncxanero na CtrlF5 nnn CtrlReIresh, no npn
pyrn payspn xnannmnnre xomnnannn ca pyrn. Ha-cnrypno e sarnapxne na payspa n
craprnpane ornono. Camo raxa moxem a cme cnrypnn, ue nocnenara npomxna n xoa ce e orpasnna
na annera, n ro npn ycnonne, ue ne cme sapannnn a npexomnnnnpame.
pyra naxna ocoenocr na payspnre e ue noneuero nopxar mnoro crapn nepcnn na JDK.
Hanpnmep Internet Explorer 4.0, 5.0 n 5.5 nopxar camo JDK 1.1. Honeuero nepcnn na Netscape
Navigator cmo. JDK 1.3.1 ce nopxa cne nspnnane na cnennanen plig-in or cara na Sun.
Hopan nomnre ornomennx mexy MicrosoIt n Sun, Inetrnet Explorer 6.0 neue ne nopxa
cranaprno annern, a camo cne onnnnrenno nncrannpnane na Java plug-in. He e xcno samo, no
Netscape 6.0 cmo ne nopxa cranaprno Java annern n ce nyxae or plug-in. Hopan nsrxnarnre
nponemn cc cnmecrnmocrra xoraro nnmem annern rpxna a nsnonsname JDK 1.1. B npornnen
cnyua pncxr annerr a ne paorn na mamnnara na xnnenra ne e manx. Honeuero xnacone n
meron, xonro nxa nn norpxnann npn nncane na annern rn nma n JDK 1.1, raxa ue nsnonsnanero na
rasn nepcnx ne nn orpannuana cepnosno. Tpxna a ce copasxname, ue nmenara na nxxon meron n
pasnnunnre nepcnn na JDK ca pasnnunn, no onxnoneno nma cornercrnne n cnmecrnmocr orony
narope. Hanpnmep n java.awt.Component or JDK 1.2 e nneen mero getWidth(), a n JDK 1.1
nsemanero na mnpounnara na xomnonenr crana c getSize().width. Hpn nsnonsnanero na nnncnam
mero na nxxo xnac, nnpryannara mamnna na paysepa npensnnxna nsxnmuenne. Hsxnmuennxra,
xonro nsnnxnar n annernre, xaxro n ncnuxo, orneuarano upes System.out.println() moxem a nnnm
n Java xonsonara na payspa. B noneuero payspn rx e ocrnna or menmro. B Internet Explorer
Java xonsonara ce noxnxna n menmro 'View camo cne xaro ce paspemn or onnnnre (Internet Options
, Advanced , MicrosoIt VM , Java console enabled) n ce pecraprnpa paysepr. Hamnpanero na
nponem n anner es Java xonsonara e nemncnnmo, raxa ue xoraro paspaornare annern n nemo ne
paorn, nnnarn nornexare n xonsonara. Tnnnuen e cnyuaxr, n xoro n cpeara sa paspaorxa
(nanpnmep Jbuilder nnn IDEA) annernre paorxr, a n paysepa ne ncxar. Hpnunnnre ca ne pasnnxa
nn nepcnnre na JDK n orpannuennre npana, xonro ce anar na annernre. Onxnoneno appletviewer
nnn cpeara sa paspaorxa craprnpar annernre c noneue npana, orxonxoro enn paysp n nm an n
c JDK, pasnnuno or 1.1 n sarona ce nonyuana necnmecrnmocr. Hpen a nsxcnnm cnryannxra c
npanara na annernre, rpxna a orenexnm, ue n nonnre nepcnn na JDK cmecrnyna pasmnpenne na
nnnorexara AWT, xoero ce napnua Swing n ce namnpa n naxera javax.swing. Hsnonsnanero na
Swing n annern ne ce npenopuna, samoro mnoro manxo payspn nopxar Swing cranaprno.
(c.eoea npoo.reuue e c.eoeauu opo)

You might also like