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.