Ikon és imageicon - használja a java swing, a java swing és egyéb java ikonokat

Néhány Java Swing komponens támogatja az ikonokat. Például a gombok, a szövegcímkék vagy a menüpontok ikonokkal rendelkezhetnek. Az ábrán láthatja a tesztalkalmazás megjelenését, amely a gomb és a szövegcímke ikonjait tartalmazza. Ezek a Java Swing ikonok.

Általánosságban több lehetőség van arra, hogy a képfájlokat tárolni lehessen. Az első lehetőség - egy Java-alkalmazást az egyszerű terjesztéshez egy jar archívumba lehet összeállítani. Az összes kép egy jar fájlt is tartalmazott. Ez a lehetőség tagadhatatlan plusz, az alkalmazás egy fájl. Minden, ami az alkalmazás sikeres működéséhez szükséges, ebben a jar fájlban lesz. Másrészt néha hasznos, hogy a rajzok és az erőforrásfájlok mindenféle bonyolult manipuláció nélkül elérhetőek. A jar fájl esetében erőforrások is elérhetők, de ki kell bontani (a jar zip archívum). majd változtassa meg a szükséges fájlokat, és végül gyűjtse vissza. A második lehetőség az, hogy nem kell az egész alkalmazást az ürlapfájlhoz kapcsolni, hanem írjon egy bizonyos bat'nicket, amely elindítja a fő alkalmazási osztályt. Végül pedig a harmadik az, hogy a képeket egy külön könyvtárba helyezzük, például képekhez, amelyek ugyanabban a helységben lesznek, mint az alkalmazás jar archívuma. Nézzünk különböző eseteket.

Nézzük meg a tesztdoboz kódját. Van egy TestFrame nevű osztály. Ugyanabban a könyvtárban, mint a TestFrame, számos rajz található. Ezeket be kell tölteni, és ikonként kell megjeleníteni. Ez az ilyen jellegű konstrukció segítségével történik.

Ismét megjegyzem, ha ezt a módszert igényel, hogy a rajzok ugyanabban a könyvtárban, mint az osztály is. Nos Paths a rajz utat, hogy például „images / icon1.png”, és egy könyvtár, amelyben található TestFrame kell nahodittsya képek mappába icon1.png mintát. Így például a rajzok a projektben találhatók, így a fenti kód működik.

A második lehetőség az ilyen rajzok rendezése.

Az alkalmazás egy fájl text.jar, rajzok és képek elrendezése egy könyvtárban tárolt ugyanabban a könyvtárban, mint a fájl. Ezután letöltheti az ilyen ikonok képét.

A vizsgálati alkalmazásban mindkét képfeltöltési módszert alkalmazzák. Az első két ikonra a képek a jar alkalmazás archívumból kerülnek, a harmadik pedig a képeket a képek mappájából. A vizsgálati alkalmazás megjelenése az alábbi ábrán látható.

Ikon és imageicon - használja a java swing, a java swing és egyéb java ikonokat

A teszt alkalmazás kódja.

String path = "icon1.png";
URL imgURL = TestFrame.class.getResource (elérési út);
ImageIcon icon = új ImageIcon (imgURL);

- cross-platform. Az a tény, hogy például a Linux, amikor elindítja a programot a konzol nem az aktuális könyvtárban nem lehet a könyvtárban, ahol a jar fájlt, és az aktuális felhasználó saját könyvtárát - System.getProperty ( «user.home»), amely nem lehet képfájlokat és nincs kép a gombon ...

Köszönjük a kiegészítést. Nem vagyok különösebben barátságos a Linux-szal, ezért nem ismertem ezeket a tulajdonságokat. Így a képek letöltése a leginkább helyes.

Igen, ez az opció helyesen működik minden platformon.
De amikor futtatja a programot az IDE NetBeans például ikonokat is, nem lesz meg a gombot, a program indul végrehajtás nem a jar fájl :), majd összeállítása / szerelés - kérem ...

Hoppá, egy hiba, az IDE Netbeansben is, minden jól működik, ellenőrizte :). De mielőtt, miért volt ez ...