Letöltése és megtekintése raszterképekkel

Ebben a fejezetben adott példát egy önálló Java alkalmazás, amely képes letölteni és megjeleníteni az ablakot fájlokat raszteres grafikus formátum GIF és GPG.

Egy kis elmélet

Munka grafikus fájlokat a szabványos Windows-szoftvert általában nem okoz sok nehézséget programozók. Meg kell először töltse le a képfájlt a memóriába, majd feldolgozni fejlécek, végre dekompressziós válasszuk ki és hajtsák végre a színpaletta.

Programozók létre egy Java önálló alkalmazások, vannak jobb helyzetben - a rendelkezésükre álló kényelmes osztályok tervezték, hogy a GIF és JPG formátumban.

Ha az alkalmazás kell jeleníteni az ablakban rasztergrafika, amelyek a fájlokat, akkor elég, hogy egy objektum osztály kép, majd megjeleníti az ablakban standard módszerekkel.

Itt van, hogy megoldja az első része ennek a problémának - a grafikus fájl:

Itt most először kap egy hivatkozás a szolgáltatási osztály Toolkit, amelyben az eljárás getDefaultToolkit, majd getImage módszerrel meghatározott ebben az osztályban. Ebben az esetben, átadjuk ezt a módszert utat a helyi képfájl c: \ képek \ mypic.jpg.

Alkalmazási fájlválasztó képes megjeleníteni a standard párbeszédablak osztály filedialog.

Ami a második probléma - megjeleníti a feltöltött kép az alkalmazás ablak, akkor lehet megoldani drawImage módszerrel.

Leírás példa

A fő ablakban a mi önálló alkalmazás Fájl menü Megnyitás sorban, és Exit (1.).

Ábra. 1. A fő ablakban

Segítségével húr Open, kiválaszthatja, és feltölteni egy fájlt megjelenítheti bármelyik képe, amelynek GIF vagy JPG formátumban. A megfelelő fájl kiválasztási párbeszédablak ábrán látható burkolóelem. 2.

Ábra. 2. A fájl kiválasztása párbeszédablak kijelzőjén

Felhívjuk figyelmét, hogy csak korlátozott tartományban felhasználó GIF és JPG fájl típusa, amelyben a megfelelő mező tartalma „File name”.

Tekintsük a forráskódját az alkalmazás.

A fő alkalmazási osztály

A fő osztály a mi alkalmazás, akkor hozzon létre egy osztályt FrameWindow ablakot, és kijelzi:

osztály FrameWindow

FrameWindow osztály meghatározott alkalmazásunk a Frame alap osztályt, és végrehajtja a három interfészek:

ActionListener felület és WindowListener alkalmazni, illetve kezelni az eseményeket a menüből, és eseményeket, amelyek akkor jelentkezik, amikor a felhasználó megpróbálja bezárni az alkalmazás főablakát. ComponentListener felület kell a változások nyomon követése a fő ablakban.

A következő négy mező vannak az osztályban FrameWindow linkeket a menü és annak sorokat:

Ez a kép rajzolódik ki imgViewer osztály panel doboz található az ablakban sp:

A program létrehoz egy objektumot MediaTracker, célja, hogy befejeződik a letöltés a kiválasztott kép:

Tervező FrameWindow osztály

Az első dolog, FrameWindow osztály konstruktor beállítja a címet a kérelem fő ablakban, és a mérete ablak:

Továbbá, hogy létrehozza a menü:

csatlakoztassa a eseménykezelőt a menüsor

Ezután a menüben be van állítva az alkalmazás főablakában:

Az utolsó lépés - beállítás eseménykezelőkkel kapcsolódó bezárása az alkalmazás főablakát, és megváltoztathatja a méretét:

actionPerformed osztály módszer FrameWindow

Amikor a felhasználó kiválasztja a Megnyitás lehetőséget a Fájl menü sor, a FileOpen metódus, letölti és megjeleníti a grafikus ábrázolás:

Kiválasztása Kilépés sor ugyanabból a menüből vezet a befejezése a kérelmet.

FileOpen módszer az osztály FrameWindow

Először FileOpen eljárás megjelenít egy normál fájl kiválasztása párbeszédpanelen:

Felhívjuk figyelmét, hogy korlátozták a fájlok listája megjelenik a panelen megadásával maszk kiválasztásához fájlok setFile.

Teljes elérési utat írunk szCurrentFilename területen, és megjelenik a fejlécben a főablak:

A következő lépésben azt betölteni a grafikus kép fájlból, ami egy objektum osztály Image:

Ezután megvárjuk, amíg az indítási folyamat:

Megjelenése előtt a tartalmát a letöltött fájlt, ellenőrizze a helyszíni sp:

Ha korábban az alkalmazás ablakban feltöltésre került egy másik képet, eltávolítjuk betöltése előtt egy új tartályt IT SP ScrollPane osztályban.

Ezután létrehozunk egy új tartályt, és állítsa be a méretét, hogy a méret a főablak:

Alkotó tartályt adunk az alkalmazás ablakban a beültetési mód BorderLayout:

A kép rajzolódik ki imgViewer panel ablak jön létre az alábbiak szerint:

Vegyük észre, hogy itt vagyunk kérni a panel mérete megegyezik a mérete a betöltött grafika.

Miután ez az osztály imgViewer panelt adunk az ablaküveget ScrollPane osztály:

végzünk kötelező elhelyezését alkatrész, utalva ez a rendszer a Layout Manager A helyes beállításokat tartály méretek:

componentResized osztály módszer FrameWindow

Amikor a felhasználó átméretezi az alkalmazás főablakában componentResized eljárás végrehajtja az újbóli elrendezése és dolgozza át sp konténerek és iv:

componentShown osztály módszer FrameWindow

componentShown módszer az úgynevezett amikor a térképészeti alkalmazás főablakát:

Van elvégzi ugyanazokat a lépéseket, mint az imént vázolt componentResized módszer.

windowClosing osztály módszer FrameWindow

Ezt a módszert nevezik, amikor a felhasználó megpróbálja bezárni az alkalmazás főablakát. A végrehajtás a módszer A kérelem kitöltését:

Más osztály módszerek FrameWindow

A FrameWindow meghatározott osztályból több módszer, hogy nem csinál semmit, de szükségesek a teljesség végrehajtására vonatkozó pontok:

osztály imgViewer

Class imgViewer alapján létrehozott testület osztály:

Az osztályban már definiált két területen:

Az első ilyen üzletek egy referencia képet, és a második - a méret az ablaküveg, áthalad a második paraméter a kivitelező.

Itt látható, hogy ezek a mezők inicializálja a kivitelező:

festék osztály módszer imgViewer

festékes módszer rajzol grafikus kép bal felső sarkában a panel:

Más osztály módszerek imgViewer

Az alábbi módszerek megfelelő működéséhez szükséges a beültetési rendszer JDK verzió 1.0 és 1.1:

Ők csak vissza panel méretben.