Missä kaikki Java-sovelmat ovat? Java-sovelman asennus verkkopankki-asiakasjärjestelmään.

Artikkelissa kerron sinulle kuinka korjata se java virhe Sovelmaa ei ole ladattu. On ollut yli vuosikymmenen ajan suuri määrä verkkoteknologiat. Joten esimerkiksi multimedialle ja yksinkertaisia ​​pelejä Käytettiin Flashia ja korkeat tietoturvavaatimukset vaativiin toimintoihin ActiveX ja Java. Mutta jos Microsoftin kehittämä ActiveX on jo kauan sitten vaipunut unohduksiin, Java EE on edelleen merkityksellinen tähän päivään asti. Ja pointti ei ole siinä, etteikö olisi olemassa kelvollisia ja helpompia loppukäyttäjä analogit (ne ilmestyivät juuri useita vuosia sitten), ongelmana on, että jotkut organisaatiot ovat investoineet kymmeniä ja satoja tuhansia dollareita näihin teknologioihin perustuvien sovellusten kehittämiseen, eivätkä he yksinkertaisesti voi kieltäytyä niistä. Tästä syystä, kun käyttäjät yrittävät kirjautua sisään tietty palvelu saattaa nähdä viestin: Java-sovelmaa ei ole ladattu, katsomme mitä tehdä, jos näet sen alla.

Jotkut VTB24-asiakkaat kokevat virheen yrittäessään kirjautua VTB24:ään online-tilassa. Se johtuu nimenomaan siitä, että Java-sovelmaa ei ole asennettu järjestelmään tai se on poistettu käytöstä.

Korjaaksesi tämän virheen lataamalla Java ja kirjautuaksesi tilisi ohjauspaneeliin ilman ongelmia, sinun on noudatettava useita yksinkertaisia ​​​​vaiheita.

Mitä tehdä, jos Java-sovelmaa ei ole ladattu

Ensinnäkin sinun on asennettava se itse ohjelmisto. Jos se on ladattu, mutta se ei ole käytössä, lataa se joka tapauksessa – uusin versio on asennettuna. Tätä varten:

  1. Käy Java-lataussivulla virallisella verkkosivustolla;
  2. Resurssin on määritettävä itsenäisesti käyttöjärjestelmä ja tarjoa latauslinkkiä vaadittava versio BY;
  3. Napsauta punaista "Lataa Java ilmaiseksi" -painiketta;
  4. Tämän jälkeen latausprosessi alkaa välittömästi;
  5. Suorita ladattu tiedosto ja seuraa ohjeita;
  6. Käynnistä selain uudelleen.

On huomattava, että sisään Google Chrome(versiosta 42 alkaen) Java-sovelmaa ei tueta virallisesti, koska yhtiö pitää vastaavaa tekniikkaa vanhentuneena. Siksi Javaa käyttääksesi käynnistä toinen selain, esimerkiksi FireFox.

Vältä Java-ongelmia seuraavasti:

  1. Käynnistä Firefox (jos se puuttuu, lataa ja asenna se viralliselta verkkosivustolta);
  2. Avaa ohjelmavalikko ja napsauta "Lisäosat";
  3. Kun olet oikealla sivulla, siirry "Lisäosat"-välilehteen.
  4. Vastapäätä "Java-alustamoduuli" on kytkin - siirrä se "Aina käyttöön" -asentoon (jos se on jo käytössä, älä tee mitään);
  5. Voit käynnistää selaimen uudelleen.

Suorituksen jälkeen määritellyt toimet mene sivustolle, josta olet kiinnostunut - kaikki sen toiminnot (tietysti, jos se ei käytä muita kolmannen osapuolen tekniikoita) toimivat, eikä Java-sovelman latausvirheitä tapahdu.

Onko mahdollista ilman Javaa?

Jos sinun ei tarvitse käyttää Java EE:n pohjalta luotuja verkkosovelluksia (kuten VTB24-pankkiasiakasohjelmassa), ei vastaavasta sovelmasta ole sinulle hyötyä. Pikkuhiljaa jopa suuret yritykset vaihtavat nyt asiaankuuluvampiin web-tekniikkaa, mikä tekee vuorovaikutuksesta heidän palveluidensa kanssa paljon helpompaa loppukäyttäjälle.

Yhteydessä

Appletit ovat pieniä sovelluksia, joita isännöidään Internet-palvelimilla, ne siirretään asiakkaalle verkon kautta ja asennetaan ja käynnistetään automaattisesti paikan päällä osana HTML-dokumentti. Kun sovelma saapuu asiakkaalle, sen pääsy resursseihin on rajoitettu.

Alla on lähde kanoninen HelloWorld-ohjelma, joka on alustettu sovelmaksi:

tuo java.awt.*;
tuo java.applet.*;
julkinen luokka HelloWorldApplet laajentaa sovelmaa (

g.drawString("Hei maailma!", 20, 20);
} }

Tämä sovelma alkaa kahdella rivillä, jotka tuovat kaikki java.applet- ja java.awt-hierarkioiden paketit. Lisäksi esimerkissämme on maalausmenetelmä, joka korvaa samannimisen Applet-luokan menetelmän. Kun tätä menetelmää kutsutaan, sille välitetään argumentti, joka sisältää viittauksen Graphics-luokan objektiin. Jälkimmäistä käytetään sovelman piirtämiseen. Käyttämällä drawString-menetelmää kutsutaan kanssa

Tämä Graphics-tyyppinen objekti näyttää merkkijonon "Hello World" näytön kohdassa (20,20).

Jotta tämä sovelma voidaan käynnistää selaimella, meidän on kirjoitettava useita rivejä html-tekstiä.


Voit laittaa nämä rivit erilliseen html-tiedostoon ( HelloWorldApplet.html), tai lisää ne tämän ohjelman tekstiin kommentiksi ja suorita appletviewer-ohjelma sen lähdetekstillä argumenttina.

HTML-tunniste

Tag käytetään sovelman käynnistämiseen sekä HTML-dokumentista että sovelmankatseluohjelmasta. appletviewer suorittaa jokaisen löytämänsä tunnisteen erillisessä ikkunassa, kun taas selaimet mahdollistavat useiden sovelmien sijoittamisen yhdelle sivulle. Tunnisteen syntaksi E T> tällä hetkellä tämä on:

CODE = appletFile
OBJEKTI = appletSerialFile
WIDTH = pikseliä
KORKEUS = pikseliä



>
[< PARAM NAME = AttributeNamel VALUE = AttributeValuel >]
[< PARAM NAME = AttributeName2 VALUE = AttributeValue2 >]

CODE = appletClassFile

edellytetään attribuutti, joka määrittää käännetyn sovelman koodin sisältävän tiedoston nimen. Tiedostonimi annetaan suhteessa koodikantaan, eli joko nykyisestä hakemistosta tai CODEBASE-attribuutissa määritetystä hakemistosta. Java 1.1:ssä OBJE-attribuuttia voidaan käyttää tämän määritteen sijasta CT.

OBJEKTI = appletClassSerialFile

Määrittää tiedoston nimen, joka sisältää sarjoitetun sovelman, josta se palautetaan. Kun aloitetaan tällä tavalla määritetty sovelma, tulee kutsua start()-metodia init()-metodin sijaan. Sovelmassa on oltava joko CODE- tai OBJECT-attribuutti, mutta et voi asettaa molempia määritteitä samanaikaisesti.

WIDTH ja HEIGHT - pakollinen attribuutit, jotka määrittävät sovelman näkyvän alueen alkuperäisen koon.

ARKISTO = jarFiles

Määrittää luettelon jar-tiedostoista (eroteltuna pilkuilla), jotka on esiladattu Web-selaimeen. Nämä arkistotiedostot voivat sisältää luokkatiedostoja, kuvia, ääniä ja muita sovelman tarvitsemia resursseja. Arkistojen luomiseen käytetään JAR-apuohjelmaa, jonka syntaksi on samanlainen kuin Unix TAR -komennon kutsuminen (tarkempi kuvaus apuohjelmista, katso

Liite 1 ) :

c:\> jar cf soundmap.jar *.class image.gif sound.wav

On selvää, että pakattujen jar-tiedostojen siirtäminen parantaa tehokkuutta. Siksi monissa kehitystyökaluissa (Lotus JavaBeans, Borland JBuilder) on jo työkaluja sovelmien julkaisemiseen jar-tiedostoina.

CODEBASE = codebaseURL

valinnainen attribuutti, joka määrittää sovelman koodin perus-URL-osoitteen, joka on hakemisto, jossa haku suoritetaan suoritettava tiedosto sovelma (määritetty CODE-attribuutissa). Jos tätä attribuuttia ei ole asetettu, oletusarvoisesti käytetään annetun HTML-dokumentin hakemistoa. CODEBASE:n ei tarvitse osoittaa samaan solmuun, josta se on ladattu H TML-asiakirja.

ALT = alternateAppletText

ALT-merkki - valinnainen attribuutti, joka määrittää lyhyen tekstiviestin, joka tulee tulostaa, jos käytettävä selain tunnistaa tagin syntaksin , mutta ei voi suorittaa sovelmia. Tämä ei ole sama asia kuin väliin lisättävä HTML-teksti Ja selaimille, jotka eivät tue sovelmia ollenkaan.

NIMI = appletInstanceName

valinnainen attribuutti, jota käytetään määrittämään nimi tälle sovelman esiintymälle. Sovelmien nimeäminen on välttämätöntä, jotta muut samalla sivulla olevat sovelmat voivat löytää ne ja kommunikoida niiden kanssa. Päästäksesi Applet-luokan "Duke" -nimiseen MyApplet-alaluokkaan, sinun on kirjoitettava:

MyApplet a = getAppletContext().getApplet("Duke");

Kun sinulla on kahva nimetylle sovelman ilmentymälle tällä tavalla, voit kutsua sen menetelmiä aivan kuten minkä tahansa muun objektin kohdalla.

ALIGN = kohdistus

valinnainen attribuutti, joka määrittää sovelman tasaustyylin. Tämä attribuutti tulkitaan samalla tavalla kuin IMG-tunnisteessa, sen mahdolliset arvot ovat LEFT, RIGHT, TOP, TEXTTOP, MIDDLE, ABSMIDDLE, BASELINE, BOTTOM, ABSBOTTOM.

Nämä valinnainen attribuutit määrittävät vapaan tilan leveyden pikseleinä sovelman ylä- ja alaosassa (VSPACE) sekä sen vasemmalla ja oikealla puolella (HSPACE). Niitä käsitellään täsmälleen samoin kuin samannimistä IMG-tunnisteen attribuutteja.

PARAMIN NIMI = appletAttribute1 ARVO = arvo1

Tämä tagi mahdollistaa sen tarvitsemien argumenttien välittämisen HTML-sivulta sovelmaan. Sovelmat saavat nämä attribuutit kutsumalla alla kuvattua getParameter()-menetelmää.

Parametrien välitys

getParameter(merkkijono)

GetParameter-menetelmä palauttaa määritettyä parametrin nimeä vastaavan merkkijonoarvon. Jos haluat parametriksi jonkin muun tyyppisen arvon, sinun on muunnettava parametrijono itse. Näet nyt esimerkkejä getParameter-menetelmän käyttämisestä parametrien hakemiseen alla olevasta esimerkistä:


Seuraavassa näkyy, kuinka kukin näistä parametreista haetaan:

Merkkijono FontName = getParameter("fontName");
Merkkijono FontSize = Integer.parseInt(getParameter("fontSize"));
String Leading = Float.valueOf(getParameter("johtava"));
Merkkijono PaidUp = Boolean.valueOf(getParameter("accountEnabled"));

Sovelman konteksti

Base ja getCodeBase

Voit kirjoittaa sovelmia, joiden täytyy nimenomaisesti ladata tietoja ja tekstiä. Java sallii sovelman ladata tietoja hakemistosta, jossa sovelman käynnistänyt HTML-dokumentti sijaitsee (dokumenttikanta - getDocumentBase) ja hakemistosta, josta sovelman koodin sisältävä luokkatiedosto ladattiin (koodikanta - getCodeBase ).

AppletContext ja showDocument

AppletContext on tapa saada tietoa käynnissä olevan sovelman ympäristöstä. ShowDocument-menetelmä saa sen parametrin määrittämän asiakirjan näyttämään selainpääikkunassa tai -kehyksessä.

Debug Print

Virheenkorjaustulostus voidaan tulostaa kahdessa paikassa: konsolissa ja sovelmien katseluohjelman tilarivillä. Jotta voit näyttää viestin konsolissa, sinun on kirjoitettava:

System.out.println("Hei, tervetuloa Javaan");

Konsolin viestit ovat erittäin käteviä, koska konsoli ei yleensä näy sovelmien käyttäjille ja tilaa on tarpeeksi useille viesteille. Netscape-selaimessa Java-konsoli on käytettävissä Asetukset-valikosta "Näytä Java-konsoli".

ShowStatus-menetelmä näyttää tekstiä arpletviewerin tai Java-yhteensopivan selaimen tila-alueella. Tila-alueella voidaan näyttää vain yksi viestirivi.

Sovelman alustusjärjestys

Alla on järjestys, jossa Applet-luokan menetelmiä kutsutaan, sekä selitys siitä, tarvitseeko sinun ohittaa tämä menetelmä.

Init-menetelmää kutsutaan ensin. Tässä sinun tulee alustaa muuttujasi.

Aloitusmenetelmä kutsutaan heti init-metodin jälkeen. Sitä käytetään myös aloituspisteenä työn jatkamiselle sovelman pysäyttämisen jälkeen. Vaikka init-menetelmää kutsutaan vain kerran, kun sovelma ladataan, start kutsutaan aina, kun sovelman sisältävä HTML-dokumentti näytetään näytöllä. Joten jos käyttäjä esimerkiksi siirtyy uudelle WWW-sivulle ja palaa sitten takaisin sovelman sivulle, sovelma jatkaa aloitusmenetelmästä.

Maalausmenetelmää kutsutaan aina, kun sovelma on vaurioitunut. AWT tarkkailee järjestelmän ikkunoiden tilaa ja havaitsee tapaukset, kuten sovelman ikkunan päällekkäin toisen ikkunan kanssa. Tällaisissa tapauksissa, kun sovelma on jälleen näkyvissä, Paint-menetelmää kutsutaan palauttamaan sen kuva.

Applet-luokan oletuspäivitysmenetelmä maalaa sovelman ensin oletustaustavärillä ja kutsuu sitten maalausmenetelmää. Jos täytät taustan eri värillä maalausmenetelmässä, käyttäjä näkee oletusvärin välähdyksen aina, kun päivitysmenetelmää kutsutaan

- eli aina kun piirrät sovelman uudelleen. Tämän välttämiseksi sinun on ohitettava päivitysmenetelmä. Yleensä sinun on suoritettava maalaustoiminnot päivitysmenetelmässä, ja maalausmenetelmässä, jota AWT käyttää, kutsu vain päivitys.

Stop-menetelmää kutsutaan, kun selain poistuu sovelman sisältävästä HTML-dokumentista. Kun pysäytysmenetelmää kutsutaan, sovelma on edelleen käynnissä. Käytä tätä menetelmää niiden aliprosessien keskeyttämiseen, joita ei tarvitse suorittaa, kun sovelma on näkymätön. Kun käyttäjä tulee uudelleen tälle sivulle, sinun on jatkettava hänen työtään aloitusmenetelmällä.

Hävitysmenetelmää kutsutaan, kun ympäristö (kuten Netscape-selain) päättää, että sovelma tulee poistaa kokonaan muistista. Tässä menetelmässä sinun on vapautettava kaikki sovelman käyttämät resurssit.

Uudelleenpiirtäminen

Palataan HelloWorldApplet-sovelmaan. Siinä korvasimme maalausmenetelmän, joka antoi sovelman suorittaa renderöinnin. Applet-luokka tarjoaa lisäpiirustusmenetelmiä, joiden avulla voit maalata tehokkaasti näytön osia. Kun kehität ensimmäisiä sovelmiasi, voi olla vaikea ymmärtää, miksi päivitysmenetelmää ei koskaan kutsuta. Päivityksen aloittamiseksi on olemassa kolme versiota uudelleenmaalausmenetelmästä.

Uudelleenmaalausmenetelmää käytetään pakottamaan sovelma piirtämään uudelleen. Tämä menetelmä puolestaan ​​kutsuu päivitysmenetelmää. Jos järjestelmä on kuitenkin hidas tai raskaasti kuormitettu, päivitysmenetelmää ei ehkä kutsuta. AWT voi yhdistää lähellä olevat uudelleenpiirtopyynnöt niin, että päivitysmenetelmää voidaan kutsua satunnaisesti. Jos haluat saada aikaan rytmisen kuvakehysten muutoksen, käytä repaint(time) -menetelmää - tämä vähentää väärään aikaan piirrettyjen kehysten määrää.

Voit kutsua uudelleenmaalausmenetelmän asettamalla uudelleenmaalauksen määräajan (tämä ajanjakso on määritetty millisekunteina suhteessa uudelleenmaalauskutsun aikaan).

maalaa uudelleen(x, y, w, h)

Tämä versio rajoittaa näytön päivityksen tiettyyn suorakulmioon, vain siinä olevat näytön osat muuttuvat.

maalaa uudelleen (aika, x, y, w, h)

Tämä menetelmä on kahden edellisen yhdistelmä.

Graafisten kuvien koon asettaminen.

Graafiset kuvat piirretään tavallisessassa, jossa koordinaatit voivat ottaa vain kokonaislukuja ja akselit suunnataan vasemmalta oikealle ja ylhäältä alas. Sovelmilla ja kuvilla on kokomenetelmä, joka palauttaa Dimension-objektin. Kun sinulla on Dimension-objekti, voit myös saada sen leveys- ja korkeusmuuttujien arvot:

Mitta d = koko();
System.out.println(d.width + "," + d.height);

Graphics-luokan yksinkertaiset menetelmät

Grafiikka-luokan objekteilla on useita yksinkertaisia ​​piirustustoimintoja. Jokainen muoto voidaan piirtää täytettynä tai vain sen reunat voidaan piirtää. DrawRect-, drawOval-, fillRect- ja fillOval-menetelmiä kutsutaan kullakin neljällä parametrilla: int x, int y, int leveys ja int korkeus. X- ja y-koordinaatit määrittelevät muodon vasemman yläkulman sijainnin, leveys- ja korkeusparametrit määrittelevät sen rajat.

piirtoviiva(int x1, int y1, int x2, int y2)

Tämä menetelmä piirtää suoran pisteiden välille, joiden koordinaatit (x1,y1) ja (x2,y2). Nämä viivat ovat yksinkertaisia ​​1 pikselin paksuisia suoria viivoja. Ei ole tukea erilaisille kynille ja eri viivapaksuuksille.

drawArc ja fillArc

DrawArc- ja fillArc-menetelmien muoto on seuraava:

piirtokaari(int x, int y, int leveys, int korkeus, int aloituskulma, int pyyhkäisykulma)

Nämä menetelmät piirtävät (fillArc täyttää) kaaren, jota rajoittaa suorakulmio (x,y,leveys,korkeus) alkaen aloituskulmasta ja jonka kulman koko on sweepAngle. Nolla astetta vastaa myötäpäivään asentoa kello 3:ssa, kulma lasketaan vastapäivään (esimerkiksi 90 astetta vastaa kello 12:ta, 180 - 9 ja niin edelleen).

drawPolyson ja fillPolyson

Näiden menetelmien prototyypit:

piirrä polygoni(int, int, int)

fillPolygon(int, int, int)

DrawPolygon-menetelmä piirtää monikulmion (polyline) ääriviivat, jotka määritellään kahdella taulukolla, jotka sisältävät kärkien x- ja y-koordinaatit, menetelmän kolmas parametri on koordinaattiparien lukumäärä. DrawPolygon-menetelmä ei sulje piirrettyä polkua automaattisesti. Jotta suorakulmio olisi suljettu, ensimmäisen ja viimeisen pisteen koordinaattien on oltava samat.

AWT-värijärjestelmä on suunniteltu toimimaan kaikkien värien kanssa. Kun väri on määritetty, Java etsii näytön värialueesta sitä parhaiten vastaavan. Voit pyytää värejä semantiikassa, johon olet tottunut - punaisen, vihreän ja sinisen sekoituksena tai sävyn, kylläisyyden ja kirkkauden yhdistelmänä. Voit käyttää Color.black-luokan staattisia muuttujia asettaaksesi mitä tahansa yleisiä värejä - musta, valkoinen, punainen, vihreä, sininen, syaani, keltainen, magenta, oranssi, pinkki, harmaa, tummanharmaa ja vaaleanharmaa.

Luo uusi väri käyttämällä jotakin alla kuvatuista kolmesta konstruktorista.

Väri (int, int, int)

Tämän konstruktorin parametrit ovat kolme kokonaislukua välillä 0 - 255 punaisen, vihreän ja syaanin värikomponenteille.

Tällä konstruktorilla on yksi kokonaislukuargumentti, jossa punaisen, vihreän ja sinisen värikomponentit määritetään pakatussa muodossa. Punainen peittää bitit 16-23, vihreä - 8-15, sininen - 0-7.

Väri (float, float, float)

Viimeinen värikonstruktoreista Color(float, float, float) ottaa parametreina kolme float-arvoa (välillä 0,0-1,0) perusväreille punainen, vihreä ja sininen.

Color-luokan menetelmät

HSBtoRGB (kelluke, kellua, kellua)
RGBtoHSB(int, int, int, float);
}
} }

Edellisissä esimerkeissä käytettiin menetelmää drawString(String, x, y). Tämä menetelmä tulostaa merkkijonon käyttämällä nykyistä fonttia ja väriä. Piste (x,y) vastaa merkin perusviivan vasenta reunaa, ei vasenta yläkulmaa, kuten on yleistä muissa piirustusmenetelmissä. Ymmärtääksesi, kuinka viivaa kuvaava suorakulmio sijoitetaan, lue tämän luvun lopussa oleva kirjasinmittareita käsittelevä osio.

Fontien käyttö

Fonttiluokan rakentaja luo uuden fontin määritetyllä nimellä, tyylillä ja pistekoolla:

Fontti StrongFont = new Font("Helvetica", Font.BOLD|Font.ITALIC, 24);

Tällä hetkellä saatavilla olevat kirjasinten nimet ovat Dialog, Helvetica, TimesRoman, Courier ja Symbol. Tässä perheessä on kolme staattista muuttujaa, jotka määrittävät fonttityylin. - Font.PLAIN, Font.BOLD ja Font.ITALIC, jotka vastaavat tavallisia, kursivoituja ja lihavoituja tyylejä.

Katsotaanpa nyt muutamia lisämenetelmiä.

getFamily ja getName

GetFamily-menetelmä palauttaa merkkijonon, jossa on kirjasinperheen nimi. Voit käyttää getName-menetelmää saadaksesi fontin loogisen nimen.

Tämä menetelmä palauttaa kokonaisluvun, joka edustaa fonttikokoa pisteinä.

Tämä menetelmä palauttaa kirjasintyyliä vastaavan kokonaisluvun. Saatua tulosta voidaan verrata bitti kerrallaan Font-luokan staattisiin muuttujiin: - PLAIN, BOLD ja ITALIC.

isBold, isItalic, isPlain

Nämä menetelmät palauttavat arvon tosi, jos kirjasintyyli on lihavoitu, kursivoitu tai tavallinen.

Paikannus ja fontit

:FontMetrics

Java käyttää erilaisia ​​​​fontteja, ja FontMetrics-luokan avulla ohjelmoija voi määrittää tarkasti sovelmassa näytettävän tekstin sijainnin. Ensinnäkin meidän on ymmärrettävä joitain yleisiä termejä, joita käytetään fonttien kanssa työskennellessä:

  • Korkeus
  • (korkeus) - fontin suurimman merkin koko ylhäältä alas.
  • Perustaso
  • (perusviiva) - viiva, jota pitkin merkkien alarajat on kohdistettu (laskua lukuun ottamatta).
  • Kiivetä
  • (nousu) - etäisyys perusviivasta symbolin yläpisteeseen.
  • Hylkää
  • (lasku) - etäisyys perusviivasta symbolin alapisteeseen.

FontMetricsin käyttäminen

Alla on joitain FontMetrics-luokan menetelmiä:

Tämä menetelmä palauttaa tietyn kirjasimen tietyn merkkijonon pituuden.

bytesWidth, charsWidth

Nämä menetelmät palauttavat määritetyn tavutaulukon leveyden nykyiselle fontille.

getAscent, getDescent, getHeight

Nämä menetelmät palauttavat fontin nousun, laskun ja leveyden. Nousun ja laskun summa antaa kirjasimen kokonaiskorkeuden. Fontin korkeus ei ole vain etäisyys kirjainten g ja y alimmasta pisteestä ison kirjaimen T ja symbolien, kuten sulkeiden, korkeimpaan kohtaan. Korkeus sisältää alleviivaukset jne.

getMaxAscent ja getMaxDescent

Näitä menetelmiä käytetään kaikkien kirjasimen merkkien maksimaalisen nousun ja laskun saavuttamiseen.

Keskitysteksti

Käytetään nyt FontMetrics-objektin menetelmiä piirrettävän viivan nousun, laskun ja pituuden saamiseksi ja keskitetään se sovelmassamme saatujen arvojen avulla.

/*
*
*

*
*/
tuo java.applet.*;
tuo java.awt.*;
julkinen luokka HelloWorld laajentaa sovelmaa (
lopullinen kirjasin f = new Font("Helvetica", Font.BOLD, 18);
julkinen tyhjä maali (Grafiikka g) (
Mitta d = this.size();
g.setColor(Color.white);
g.fillRect(0,0,d.width,d.height);
g.setColor(väri.musta);
g.setFont(f);
drawCenteredString("Hei maailma!", d.leveys, d.korkeus, g);
g.drawRect(0,0,d.width-1,d.height-1);
}
public void drawCenteredString(merkkijono s, int w, int h, grafiikka g) (
FontMetrics fm = g.getFontMetrics();
int x = (w - fm.stringWidth(s)) / 2;
int y = (fm.getAscent() + (h - (fm.getAscent() + fm.getDescent()))/2);
g.drawString(s, x, y);
} }

Tältä sovelma näyttää toiminnassa:

Tässä artikkelissa yritän esittää ohjelmoinnin perusteet Delphissä mahdollisimman yksinkertaisesti ja selkeästi.

Java nukkeille. Oppitunti 3. Yksinkertainen sovelma.

Lopuksi pääsemme tärkeimpään: ohjelmointi Java for Webille, koska tänään kirjoitamme ensimmäisen sovelman. Aloitetaan tietysti yksinkertaisimmasta, "Hei maailma!" Ja niin, tässä on tämän sovelman teksti:

tuonti java . sovelma . Sovelma ;

tuonti java . awt . Grafiikka ;

Julkinen luokka HelloApplet ulottuu Sovelma {

Julkinen tyhjä maali ( Grafiikka g ) {

G . vetomerkkijono ( "Hei maailma!" , 0 , 50 );

}

}

Tässä esimerkissä sisällytämme sovelmakirjastot - käyttääksesi sovelmaluokkaa ja Grafiikka - käyttääksesi grafiikkatoimintoja. Sovelmissa emme voi näyttää tekstiä näytöllä Järjestelmäkirjaston avulla, kuten teimme konsolisovellusta kirjoitettaessa (katso ja). Siksi käytämme tässä hieman erilaisia ​​​​menetelmiä. Erityisesti Graphics-luokka, joka on suunniteltu piirtämään sovelman kenttäalueelle. Ja vielä yksi ero konsolisovellukseen verrattuna. Ei ole olemassa luokkaa, jossa olisi main()-metodi. Sovelluksen toteuttamiseksi määritämme luokan, joka on sovelmaluokan lapsi:

julkinen luokka HelloApplet ulottuu Sovelma

Tämä tarkoittaa, että uudessa HelloApplet-luokassamme on kaikki samat kentät ja menetelmät kuin Appletissä, lukuun ottamatta niitä menetelmiä, jotka olemme ohittaneet. Tässä tapauksessa se on maali - menetelmä, joka vastaa kohteen piirtämisestä. Siihen sijoitettu ohjelma käynnistetään aina, kun sovelma renderöidään. Tässä tapauksessa tämä ohjelma, joka koostuu vain yhdestä rivistä:

g . vetomerkkijono ( "Hei maailma!" , 0 , 50 );

piirtää ruudulle tekstin "Hei, maailma!" pisteessä, jonka koordinaatit ovat 0,50.

Ja niin, kokoamme ohjelman. Meillä pitäisi nyt olla HelloApplet.class-tiedosto. Testataan nyt sitä luomalla yksinkertainen sovelma, joka sisältää HTML-tiedoston:

"HelloApplet.class" Leveys = 200 Korkeus = 200 >

Graafisia käyttöliittymiä, piirustuksia ja kuvia voidaan toteuttaa sovelmissa. Appletit ovat Java-kieliluokkiin toteutettu graafinen sovellus, jota isännöidään Internet-palvelimilla, siirretään asiakkaalle verkon kautta ja jotka selain asentaa ja käynnistää automaattisesti osana HTML-dokumenttia. Applettien avulla voit lisätä kenttiä asiakirjoihin, joiden sisältö muuttuu ajan myötä, järjestää merkkejä, valikoita, animaatioita ja suorittaa laskutoimituksia asiakassivulla. Selain suorittaa sovelmat, kun sovelmien katseluohjelma hahmontaa tai katselee HTML-dokumenttia. Sovelmat eivät voi kirjoittaa tiedostoihin tai lukea tietoja tiedostoista. Nämä rajoitukset liittyvät asiakastietokoneen tietoturvaongelmaan, koska asiakkaat eivät halua käynnistää troijalaista tietokoneeseensa. Asiakas asettaa useita suojaustasoja palvelimelta ladatuille sovelmille (luotetut sovelmat). Luokka Sovelma tarjoaa käyttöliittymän sovelmien ja niiden ympäristön välillä. Appletit ovat luokan jälkeläisiä Sovelma paketista java. sovelma AWT-paketista tai sen alaluokasta JApplet Swing-paketista.

Luokkamenetelmiä on useita Sovelma, jotka ohjaavat sovelman luomista ja suorittamista Web-sivulla. Sovelma ei tarvitse menetelmää pää(),käynnistyskoodi sijoitetaan menetelmään sen sisällä(). Ylikuormitettu menetelmä sen sisällä() kutsutaan automaattisesti, kun sovelma ladataan alustavan alustuksen suorittamiseksi. Menetelmä alkaa() kutsutaan aina, kun sovelma tuodaan selaimen näkyville toiminnan aloittamiseksi. Menetelmä lopettaa() kutsutaan aina, kun sovelma poistuu verkkoselaimen näkymästä, jotta sovelma voi suorittaa toimintonsa loppuun. Menetelmä destroy () Kutsutaan, kun sovelma alkaa purkaa sivulta lopullisen resurssin julkaisun suorittamiseksi. Näiden menetelmien lisäksi, kun sovelma suoritetaan, menetelmä maali() luokkaa Komponentti. Menetelmä maali() ei kutsuta eksplisiittisesti, vaan vain muista menetelmistä, esimerkiksi menetelmästä maalata uudelleen() , jos uudelleenpiirtäminen on tarpeen.

Alla on esimerkkisovelma, joka käyttää menetelmiä sen sisällä() , maali() , menetelmä setColor() merkkien väriasetukset ja menetelmä vetomerkkijono() piirtää viivoja.

/* esimerkki #1: päivämäärän tulostus:Päivämääräapplet.java */

paketti luku 11;

tuonti java.awt.Color;

tuonti java.awt.Graphics;

tuonti java.util.Calendar;

tuonti java.util.Formatter;

tuonti javax.swing.JApplet;

julkinen luokkaa Päivämääräapplet ulottuu JApplet (

yksityinen Muotoilun päivämääräFmt = Uusi Muotoilija();

yksityinen MuotoiluaikaFmt = Uusi Muotoilija();

julkinen mitätön sen sisällä() (

setSize(180, 100);

Kalenteri c = Calendar.getInstance();

merkkijono aikakausi = "";

jos(c.get(Calendar.ERA) == 1)

dateFmt.format("%tA %td.%tm.%tY vuosi "

aikakausi, c, c, c, c);

timeFmt.format("%tT", c);

julkinen mitätön maali (Grafiikka g) (

g.setColor(Väri.PUNAINEN);

g.drawString("Sovelma alkoi " + timeFmt,

10, getHeight()/2);

g.setColor( Uusi väri(0,87,127));

g.drawString(dateFmt.toString(), 13,

getHeight() – 10);

Riisi. 11.2. Tulostusjono ja päivämäärä

Päivämääräelementtejä käytetään luokan avulla java. util. Kalenteri. Näytettävien merkkien väri asetetaan luokkakenttien avulla Väri.

Kun käännös on valmis, sovelman tavukoodin sisältävän luokan nimi sijoitetaan tagiin < sovelma vaihtoehtoja > sovelma> HTML-dokumentti. Esimerkiksi:

Päivämääräapplet.luokka

leveys = 250 korkeus = 250>

HTML-dokumentin suorittaja on selain, joka käynnistää linkkiä vastaavan sovelman.

Suurin osa sovelmissa käytetyistä graafisista menetelmistä, kuten esimerkissä käytetyt menetelmät setColor() , drawString() , – abstraktin perusluokan menetelmät java. awt. Grafiikka. Luokka Grafiikka edustaa graafista kontekstia piirtämistä varten, joka sitten kartoitetaan fyysiseen laitteeseen. Applettimenetelmät vastaanottavat luokkaobjektin Grafiikka(graafinen konteksti) parametrina ja yhdessä sen kanssa - nykyinen väri, fontti, kohdistimen sijainti. Kontekstin asettaminen tehdään yleensä menetelmillä päivittää() tai maali() .

Alla on lueteltu joitain luokan menetelmiä Grafiikka:

piirtääLine(int x1, int y1, int x2, int y2)– piirtää viivan;

piirräRect (int x, int y, int leveys, int korkeus) Ja fillRect(int x, int y, int leveys, int korkeus)– piirrä suorakulmio ja täytetty suorakulmio;

draw3DRect(int x, int y, int leveys, int korkeus, boolen arvo korotettu)– piirtää kolmiulotteisen suorakulmion;

drawRoundRect(int x, int y, int leveys, int korkeus,int kaaren leveys, int kaaren korkeus)– piirtää pyöristetyn suorakulmion;

piirtoOvaali(int x, int y, int leveys, int korkeus)– piirtää soikean;

piirrä polygoni(int xPiste, int yPoints, int nPoints)– piirtää koordinaattitaulukoilla määritellyn monikulmion (polygonin). x Ja y;

piirrä polygoni (Monikulmios) - piirtää monikulmion, objektin antama Monikulmio;

piirrä polyline(intxPoints, intyPisteitä, intnPisteitä) – piirtää taulukoiden määrittämän sekvenssin yhdistettyjä viivoja x Ja y;

piirtokaari(int x, int y, int leveys, int korkeus, int aloituskulma, int kaarikulma)– piirtää ympyrän kaaren;

drawImage(Image img, int x, int y, Color bgcolor, ImageObserver-tarkkailija)– lisää kuvan;

vetomerkkijono(merkkijono str, int x, int y)– piirtää viivan;

setColor(väri c), getColor()– määrittää ja palauttaa nykyisen värin;

getFont()– palauttaa nykyisen fontin;

setFont (fonttifontti)-sarjat uusi fontti.

Luokkamenetelmät Grafiikka käytetään grafiikan näyttämiseen kuten luokissa Sovelma, ja luokille JApplet.

Alla olevat esimerkit 2–4 havainnollistavat luokkamenetelmien käyttöä Grafiikka peruuttamista varten graafisia kuvia sovelma-ikkunaan.

/* esimerkki #2: 3D-suorakulmiot:ThrOik. java */

paketti luku 11;

tuonti java.awt.Color;

tuonti java.awt.Graphics;

tuonti javax.swing.JApplet;

julkinen luokkaa ThrRect ulottuu JApplet (

julkinen mitätön draw3D(Grafiikka g, int x, int y, int leveys, int korkeus, boolean on korotettu boolean on täytetty) (

g.draw3DRect(x, y, leveys - 1, korkeus - 1,

g.draw3DRect(x + 1, y + 1, leveys - 3,

korkeus – 3, on nostettu);

g.draw3DRect(x + 2, y + 2, leveys - 5,

korkeus – 5, on nostettu);

jos(on täytetty)

g.fillRect(x + 3, y + 3, leveys - 6,

julkinen mitätön maali (Grafiikka g) (

g.setColor(Väri.HARMAA);

piirrä3D(g, 10, 5, 80, 40, totta, väärä);

piirrä3D(g, 130, 5, 80, 40, väärä, väärä);

piirrä3D(g, 10, 55, 80, 40, totta, totta);

piirrä3D(g, 130, 55, 80, 40, väärä, totta);

Riisi. 11.3. 3D suorakulmiot

Muovipussi java.awt sisältää iso luku kuvan näyttämiseen käytetyt luokat: Väri, Fontti, Kuva, Muoto, Kangas jne. Lisäksi tämän paketin ominaisuudet laajentavat paketteja java.awt.geom,java.awt.color,java.awt.image ja muut.

/* esimerkki # 3: rakentaminen lukuja: BuildShape.java */

paketti luku 11;

tuonti java.awt.Color;

tuonti java.awt.Graphics;

tuonti java.awt.Graphics2D;

tuonti java.awt.Shape;

tuonti java.awt.geom.*;

tuonti javax.swing.JApplet;

julkinen luokkaa BuildShape ulottuu JApplet (

julkinen mitätön sen sisällä() (

setSize(200, 205);

julkinen mitätön maali (Grafiikka g) (

Grafiikka2D g2 = (Grafiikka2D) g;

g2.rotate(Math.PI / 6);

piirtoShakkilauta(g);

//vuoro

g2.rotate(-Math.PI / 6);

g.setXORMode( Uusi väri (200, 255, 250));

Muoto e = Uusi Ellipsi2D.Kelluke(70, 75, 70, 50);

//ellipsin piirtäminen

//shakkilaudan piirtäminen

julkinen mitätön vetosakkilauta(Grafiikka g) (

int koko = 16;

varten (int y = 0; y< 8; y++) {

varten (int x = 0; x< 8; x++) {

jos((x + y) % 2 == 0)

g.setColor(Väri.SININEN);

g.setColor(Väri.VALKOINEN);

g.fillRect(75 + x * koko, y * koko – 25, koko, koko);

g.setColor(Väri.MUSTA);

g.drawString( Uusi Merkki(

(hiiltyä) ('8' – y)).toString(), 66, y * koko – 13);

g.drawString( Uusi Merkki(

(hiiltyä) (y + ‘a’)).toString(),

79 + y * koko, 8 * koko - 14);

Riisi. 11.4. Erilaisten hahmojen rakentaminen

// esimerkki #4: lähtöGIF-Kuvat:DrawImage. java

paketti luku 11;

tuonti java.awt.Graphics;

tuonti java.awt.Image;

tuonti javax.swing.JApplet;

julkinen luokkaa DrawImage ulottuu JApplet (

yksityinen Kuva img;

julkinen mitätön sen sisällä() (

img = getImage(getCodeBase(), "joli.gif");

julkinen mitätön maali (Grafiikka g)(

g.drawImage(img, 0, 0, Tämä);

Kun käytetään tunnisteen ominaisuuksia On mahdollista välittää parametreja HTML-dokumentista sovelman koodiin. Anna HTML-dokumentin näyttää tältä:

Sovelman asetukset

leveys=250 korkeus=300>

sovelma>

Sitten parametrien lukemiseen ja käsittelyyn bNumero Ja osavaltio Sovelman pitäisi näyttää tältä:

/* esimerkki #5: parametrien välittäminen sovelmaan: ReadParam.java */

paketti luku 11;

tuonti java.awt.Color;

tuonti java.awt.Graphics;

tuonti java.applet.Ovelma;

julkinen luokkaa ReadParam ulottuu Sovelma (

yksityinen int bNum;

yksityinen boolean osavaltio;

julkinen mitätön alkaa() ( // lukeminen parametrit

param = getParameter("tila");

jos(param != tyhjä)

tila = Uusi Boolen(param);

param = getParameter("bNumber");

jos(param != tyhjä)

bNum = Kokonaisluku.parseInt(param);

} ottaa kiinni(NumberFormatException e) (

tila = väärä;

julkinen mitätön maali (Grafiikka g) (

kaksinkertainen d = 0;

jos(tila) d = Math.pow(bNum, 2);

muu g.drawString("Virheparametri", 0, 11);

g.drawString("Lauske: " + tila, 0, 28);

g.drawString("Arvo b: " + bNum, 0, 45);

g.drawString("b teho 2: " + d, 0, 62);

Riisi. 11.5. Parametrien siirtäminen sovelmaan

Jos parametri ei ole käytettävissä, menetelmä getParameter() palaa tyhjä.

Käytettäessä ohjauskomponentteja sovelmissa on tapana käyttää paketin luokkia javax. keinu, jossa näytön komponentti on luotu Javalla ja on erittäin vähän riippuvainen alustasta ja laitteistosta. Nämä komponenttiluokat ovat JButton, JCheckBox, JDialog, JMenu, JComboBox, JMenu, JTekstikenttä, JTextArea ja muut. Komponentit sijoitetaan yleensä säiliöön (luokka Cylläpitäjä), joka on minkä tahansa graafisen sovelluksen implisiittinen objekti. Selkeä viittaus säiliöön voidaan saada käyttämällä menetelmää getContentPane() .

// esimerkki #6: sovelma komponentilla: MyJApplet.java

paketti luku 11;

tuonti java.awt.Container;

tuonti javax.swing.JApplet;

tuonti javax.swing.JLabel;

julkinen luokkaa MyJApplet ulottuu JApplet (

yksityinen JLabel lbl = Uusi JLabel("Swing-sovelma!");

julkinen mitätön sen sisällä() (

Säilö c = getContentPane();

Riisi. 11.6. Sovelma etiketillä

Tämä ohjelma asettaa tekstitunnisteen JLabel appletissa olevalla lomakkeella. Luokan rakentaja JLabel ottaa vastaan ​​esineen merkkijono ja käyttää sen arvoa etiketin luomiseen. Menetelmä kutsutaan automaattisesti, kun sovelma ladataan sen sisällä() yleensä vastaa kenttien alustamisesta ja komponentin sijoittamisesta lomakkeeseen. Tätä tarkoitusta varten menetelmää kutsutaan lisätä() luokkaa Säiliö, joka sijoittaa komponentin säiliöön. Menetelmä lisätä() ei kutsuta heti, kuten voidaan tehdä AWT-kirjastossa. Muovipussi Keinu vaatii kaikkien komponenttien lisäämisen lomakkeen "sisältöpaneeliin" ContentPane, joten sinun on ensin kutsuttava menetelmä getContentPane() luokkaa JApplet luodaksesi viittauksen objektiin osana prosessia lisätä().

// esimerkki #7: sovelman elinkaari:DemoLC. java

paketti luku 11;

tuonti java.awt.Color;

tuonti java.awt.Graphics;

tuonti javax.swing.JApplet;

julkinen luokkaa DemoLC ulottuu JApplet (

yksityinen int tähtiX =

{ 112, 87, 6, 71, 47, 112, 176, 151, 215, 136 };

yksityinen int tähtiY =

{ 0, 76, 76, 124, 200, 152, 200, 124, 76, 76 };

yksityinen int i;

yksityinen Väri c;

julkinen mitätön sen sisällä() (

c = Uusi väri(0, 0, 255);

setBackground(väri.VAALE_HARMAA);

julkinen mitätön alkaa() (

int j = i * 25;

jos(j< 255)

c = Uusi väri(j, j, 255 – j);

muu i = 1;

julkinen mitätön maali (Grafiikka g) (

g.täyttöMonikulmio(tähtiX, tähtiY, tähtiX.pituus);

g.setColor(Väri.MUSTA);

g.piirrospolygoni(tähtiX, tähtiY, tähtiX.pituus);

julkinen mitätön lopettaa() (

Riisi. 11.7. Monikulmion väri ja sovelman elinkaari

Kun työskentelet fonttien kanssa, voit selvittää, mitkä fontit ovat käytettävissä tietokoneessasi, ja käyttää niitä. Tämän tiedon saamiseksi käytetään menetelmää getAvailableFontFamilyNames() luokkaa Grafiikkaympäristö. Menetelmä palauttaa joukon merkkijonoja, jotka sisältävät kaikkien tähän tietokoneeseen rekisteröityjen käytettävissä olevien kirjasinperheiden nimet.

// esimerkki #8: käytä käyttöjärjestelmän fontteja: Fonts.java

paketti luku 11;

tuonti java.awt.Font;

tuonti java.awt.Graphics;

tuonti java.awt.GraphicsEnvironment;

tuonti javax.swing.JApplet;

julkinen luokkaa Fontit ulottuu JApplet (

yksityinen merkkijono fontit;

julkinen mitätön sen sisällä() (

GraphicsEnvironment ge =

GraphicsEnvironment.getLocalGraphicsEnvironment();

fonts = ge.getAvailableFontFamilyNames();

setSize(700, 400);

julkinen mitätön maali (Grafiikka g) (

int xSize = getWidth() / 170;

varten (int i = 0; i< fonts.length; i++) {

g.setFont( Uusi Fontti(

fontit[i], Font.PLAIN, 12)); // nimi, tyyli, koko

g.drawString(fontit[i],

170 * (i % xSize), 13 * (i / xSize + 1));

Riisi. 11.8. Listaa fontit

15 vastausta

Luulen, että Java-sovelmat ovat jääneet Flashin ja ActionScriptin varjoon (sanomaton), joita on paljon helpompi käyttää siihen aikaan, mitä Java-sovelmia käytettiin (animaatiot + tilalliset sovellukset).

Flashin menestys tässä suhteessa puolestaan ​​johtuu sen paljon pienemmästä tiedostokoosta sekä hyötymisestä Sun vs. Microsoft -päätöksestä, jonka seurauksena Microsoft poisti MSJVM:n Internet Explorerista Netscapen romahtamisen ja IE:n raskaan dominoinnin aikana. .

1) AWT tehty kauhistuttaviin käyttöliittymiin. Swing parani, mutta se oli liian myöhäistä, koska... 2) Microsoft luopui Java-tuesta selaimesta (sen oma MSJVM), ja sitä ennen se tuki vain viimeisintä julkaistua versiota, joka oli karkeasti yhteensopiva JDK 1.1:n kanssa.
3) Joten tänään et voi olla varma, että sovelma toimii useimmissa ei-dev-koneissa, toisin kuin flash.

Samaa voidaan sanoa ActiveX:stä.

Sen arvoista, Sun kaataa taas rahaa ja resursseja sovelmiin. He tekivät joitain merkittäviä parannuksia JDK 1.6.10:een lieventääkseen monia paljastettuja "köyhyys" -sovelmia. Tämän päivityksen avulla voit esimerkiksi näyttää oman mukautetun käynnistyskuvasi/animaatiosi, kun sovelma latautuu ja laajennus lisätään pääruokavalioon suorituskyvyn parantamiseksi.

He aloittivat myös aloitteen kilpaillakseen suoraan Flashin ja Silverlightin kanssa – JavaFX.

Nähtäväksi jää, reagoivatko markkinat kaikkeen tähän, mutta se on varmasti jännittävä liike Sunin puolella, kun otetaan huomioon Flashin määräävä asema markkinoilla.

Oletan tämän, koska java on "todellinen", ts. Kieli yleinen tarkoitus. Sovelman tekemiseksi sinun on kirjoitettava koodi, eikä siinä ole pikakuvakkeita.

Nyt kun flash-asemat jne. ovat saapuneet, voit melkein vain peittää ja heittää tiesi luoda upeita animaatioita sivustollesi. Se on paljon pienempi markkinoille pääsyn este – sinun ei tarvitse osata koodata, jotta flash-animaatio toimisi. Näin ollen flash on hajautettu, ja Java-sovelmia ei käytetä melkein koskaan.

Mielestäni sovelmat ovat sivuvahinko Microsoftin ja Sunin välisessä taistelussa.

Ensinnäkin JVM latautui hyvin hitaasti ja vaati liikaa muistia. Sitten kun kasvu laskentateho teki JVM:n mahdolliseksi, Sun pelasi lujasti yrittäessään hallita kaikkea Javaa:

Toisessa yksityisessä kilpailuoikeudessa, jonka Sun nosti Microsoftia vastaan ​​maaliskuussa, Sun vaati alustavaa kieltomääräystä, jossa Microsoft vaadittiin sallimaan nykyinen virtuaalinsa. Java kone(JVM) leikkaussaliin Windows-järjestelmä XP. Microsoft sanoi, että päätös sisällyttää JVM tällä viikolla on suora seuraus viimeisimmästä oikeudellisesta rikoksesta Sunin kanssa, mutta Microsoft aikoo hajottaa Java tuki Windowsissa 1.1.2004 jälkeen. Microsoft Reverses -kurssi, ottaa Java VM:n käyttöön Windows XP:ssä - nyt

Selaimeen latautuminen ja sisäänkirjautuminen kesti ikuisuuden, ja sitten monilla ihmisillä ne eivät toimineet. Kun ne lopulta latautuivat, käyttöliittymät olivat rumia ja kömpelöitä. Luulen, että olen huono käyttäjäkokemus oli iso askel kohti sovelmien vanhentamista.

Vastatakseni alkuperäiseen kysymykseen minulla on oma kysymykseni - kysyt "Miksi sivustot eivät käytä enemmän Java-sovelmia" ja vastaukseni on "miksi kukaan haluaisi?"

Näen paljon niitä akateemisissa ympäristöissä (joita isännöivät tiedekunnat tai tiedekunnat), mutta olet oikeassa, että he eivät ole kovin suosittuja.

Muista kuitenkin, että Javan suuret lupaukset on saavutettu. Meillä on Flash, Java-sovelmat, Silverlight ja jatkuvasti kehittyvät JavaScript-kehykset.

Nyt, jos olen tehnyt henkilökohtaisen mielipiteen - mielestäni Java-sovelmat ovat tyylikkäitä. Ne näyttävät yleensä rumista, Java-ajonaika tekee sen läsnäolosta käyttöjärjestelmässä liian tunnetuksi (ajonaikaisen visualisoinnin, päivitysten ja ruman asennusohjelman suhteen). Flash sopii paljon paremmin multimediaympäristöön ja sen läpinäkyvään (ja kaikkialla esiintyvään) käyttöön.

Uskon, että yhteensopivuusongelmat olivat suuri ongelma. Etenkin IE:n ja Microsoft Java VM:n kanssa, jotka eivät olleet niin standardien mukaisia ​​kuin olisivat voineet olla.

Sinulla voi olla ongelmia jopa Sun JVM:n kanssa. Minulla oli hauskaa, kun minulla oli kaksi kolmannen osapuolen sovelmaa, jotka vaativat eri versioita Java, jotka aiheuttavat kaikenlaisia ​​ongelmia. Sun yritti ratkaista tämän ongelman korvaamalla sovelmat Java Web Startilla, joka sisältää selaimessa linkin, joka käynnistää sovelluksen omaan ikkunaansa selaimen sijaan. (Teoriassa JWS:n kanssa sinulla olisi voinut olla erilaisia ​​sovelluksia, käyttämällä erilaisia virtuaalikoneita, mutta ne eivät koskaan toimi minulle niin kuin niiden pitäisi.)

Mainosten kanssa JavaScriptiä käyttämällä antoi kehittäjälle myös mahdollisuuden luoda paljon monipuolisempia verkkosivuja, joten monet asiat, joita voit tehdä aiemmin vain sovelmoissa, voidaan nyt tehdä yksinkertaisesti AJAXilla.

Ensinnäkin he eivät lähteneet. Internetistä löytyy edelleen monia sovelmia, monet käyttävät niitä erityisesti algoritmien esittelyyn jne.
Edut: Voi käyttää olemassa olevia kirjastoja (matematiikka, fysiikka, lajittelu, kaavio jne.) ja se on nopeampi kuin Flash.
Haitta: Saattaa olla riskialtista kohdistaa uusi JVM (vaikka Sun on tehnyt niin Hyvää työtä Tekijä: automaattiset päivitykset, näyttää siltä, ​​että monet ihmiset käyttävät jo Java 1.6:ta), latausajat ovat hieman hitaita (vaikka tässä on edistytty paljon).

Löydät myös monia pelisovelmia, kuten Bookworm lisäetua ehkä tehdä osa jo tehdystä työstä saadaksesi ne toimimaan matkapuhelimissa...

Toiseksi voin ennustaa kiinnostuksen JavaFX:ää kohtaan. Sovelmat steroideilla, jotka pystyvät rikkomaan legendan "sovelmat ovat rumia"... :-)

Lopuksi Processingin kaltainen kirjasto helpottaa grafiikkaintensiivisten sovelmien luomista, ja monet niistä löytyvät esimerkiksi verkosta. OpenProcessingissa, jossa pahimmat (ohjelmoinnin uudet tulokkaat) ovat lähellä parhaita!

Ihmettelen kuinka laajalle levinnyt JVM on? Flashin tapauksessa IE5 esiasensi sen, mikä antoi sille laajan automaattisen käyttäjäkunnan. Mutta jos JVM:ää ei sisällytetty käyttöjärjestelmän asennukseen, käyttäjillä ei olisi tätä kokemusta. Uskon, että kehittäjänä kohdistat suurimman asennuskannan, mikä tarkoittaa Flashin valitsemista Javan sijaan.

Java-sovelmia on siellä täällä; ei varmasti kaikkialla.


2024, leally.ru - Opas tietokoneiden ja Internetin maailmaan