Miten Javalla onnistuisi tehdä HTML-selaimessa ajettava sovellus, joka sisältää vaativaa grafiikkaa ja tietokantoja? Grafiikan osalta merkittävässä osassa ovat mm. kuvankäsittely (kuvien nopea lataus, kuvien venytys tietyn suuruisiksi jne.) sekä erilaisten ja grafiikaltaan näyttävien painonappien ja kontrollien luominen. Sovelluksen pitäisi pystyä myös tuottamaan ääntä ja musiikkia.
Voisiko homman toteuttaa servletillä tai jsp:llä, vai mahdollisesti appleteilla?
Appleteilla ainakin painonapit onnistuvat helposti, koska javan vakioluokat tuovat kyseiset ominaisuudet käyttöön. Kuvien venytys on sitten eri juttu, mutta muistaakseni graphics- ja image-luokat tukevat venytettyä piirtoa.
Painonappien tulisi olla kontrolleja, jonka sisään voi piirtää grafiikkaa tai jopa tulostaa kuvia. Painonapilla tulisi siis olla oma piirtopinta. Onkohan Javalla mahdollista tehdä tällaista?
Kyllä. Jos haluat sen oman piirtopinnan sille niin tutustupa APIn JButtoniin (huomaa yläluokat ja niiden metodit). Itse en ole swingiin pahemmin vielä tutustunut. Kuvan venyttämiseen käynee Graphics.getScaledInstance(int leveys, int korkeus, int vihjeet) (kts. API).
tsuriga: Toimiiko Swing vielä muka missään selaimessa?
Servleteillä voi helposti tulostaa normaalia HTML-koodia asiakkaalle ja käyttää tietokantoja, itse en ole ainakaan käyttänyt niitä muuhun. Miten lienee grafiikan tuottamisen kanssa?
Hyvä huomio :). En muistanut, että kyse oli appletista. Veikkaisin, että myös grafiikan tuottaminen onnistuu servleteillä. Sunin oppaista voisi olla apua. Ääntä saa .au-muodossa AudioClip rajapinnan play, stop ja loop -metodien kautta. En ole oikein tietoinen saako sillä soitettua myös muita formaatteja, mutta tein muutaman soitto-ohjelman käyttäen noita metodeja, enkä saanut ainakaan waveja kuulumaan. Ei mikään yksinkertainen ohjelma sinulla, Pete78.
Sikäli kun olen tehnyt servlettejä, niin ne ovat toimineet siten, että kun tulee HTTP-pyyntö, servletin tiettyä metodia kutsutaan automaattisesti. Siihen metodiin kirjoitetaan sitten servletin toiminta, eli käytännössä HTML-koodin tulostusvirtaan, josta servlettikoneisto sen sitten lähettää takaisin asiakaskoneelle. Miten siinä voisi tehdä grafiikkaa sen enempää kuin HTML sallii?
Tietenkin on mahdollista laittaa HTML-koodiin appletin käynnistävä tagi, jossa appletille annetaan parametrejä, joita se sitten käyttää grafiikan piirtämiseen. En ole kokeillut.
Flashilla varmaan onnistuisi helposti.
Meitsi kirjoitti:
Flashilla varmaan onnistuisi helposti.
Paljon näkee JPS:llä tehtyjä tietokantapohjaisia sivuja jotka on tehty macromedian tuotteilla. Yleensä pullollaan kuvia, ääntä ja liikettä.
Tuo Marjan ehdottama parametri-idea taitaa olla ainut tapa, miten servletti voi osallistua applettien grafiikan tuottamiseen. Muita tapoja ei itselleni ainakaan tule mieleen, en tosin ole pahemmin servletteihin tutustunutkaan. Itse tutkin juuri Java 2D:tä, jolla saa tehtyä hienoja graafisia sovelluksia. Appletteihin se ei taida kylläkään kelvata, sillä se vaatii selaimeen asennettuna vähintään Java Plug-in 1.2:en.
Noh, voihan sitä grafiikkaa appletille varsin hyvin piirrellä? Jos ei HTML:llä mitään tekisi vaan kaiken appletilla :). Mutta flash lienee helpompi tässä, saa kunnon sirkuksen.
Servletit ovat vaan niin hemmetin käteviä tietokantojen käyttöä ajatellen.
Aihe on jo aika vanha, joten et voi enää vastata siihen.