Java týden Java týden
Aprílový black friday tě nenechá v klidu! Až 80 % prémiového obsahu zdarma. Více informací
Pouze tento týden slevy až 80 % na programování v Javě

Diskuze: Jak udělat ikonu java programu .jar ?

Java Java Jak udělat ikonu java programu .jar ? American English version English version

Aktivity (1)
Avatar
Cyril Šebek
Člen
Avatar
Cyril Šebek:24. února 17:28

Udělal jsem jednoduchou kalkulačku přes java/javaFx FXML application a chtěl bych jí dát nějakou ikonu. Když dám clean/build (v netbeansech které používám shift + F11), vytvoří mi soubor Calculator.jar a já bych mu rád přidal ikonu, aby byl uživatelsky přívětivější. Chtěl bych, aby se zobrazila jak na ploše , tak v levém horním rohu spuštěné aplikace.

P.S. dělám to v netbeansech 10
P.P.S. sorry za chyby v textu

Zkusil jsem: Vyzkoušel jsem několik návodů, co jsou na internetu a některé nefungovaly a některým jsem nerozumněl (jsem začátečník).

 
Odpovědět 24. února 17:28
Avatar
SolusLupusUmbra
Redaktor
Avatar
Odpovídá na Cyril Šebek
SolusLupusUmbra:25. února 20:10

V Javě lze nastavit ikonu aplikace na liště, pokud počkáš den dva, v některém ze svých starších projektu to mám a můžu dohledat. Pokud chceš ikonu pro .jar soubor, je to trochu složitější. Když jsem to před časem hledal, dostalo se mi odpovědi, že to nejde. Jestli je to stoprocentní pravda, nevím, ale vím, jak to obejít. Udělej tomu jaru zástupce, tomu se dá ikona nastavit.

 
Nahoru Odpovědět 25. února 20:10
Avatar
Cyril Šebek
Člen
Avatar
Odpovídá na SolusLupusUmbra
Cyril Šebek:25. února 20:51

To vím, že zástupci souboru můžu nastavit ikonku ale, mně zajímá, jak ji nastavit přímo souboru a nikoli zástupci. Dejme tomu třeba pro distribuci nemůžu úplně dobře šířit zástupce. Jinak díky za odpověď a den dva a klidně i týden si počkám. Jinak jsem našel, že prý ikona

Akceptované řešení
+5 Zkušeností
Řešení problému
 
Nahoru Odpovědět 25. února 20:51
Avatar
SolusLupusUmbra
Redaktor
Avatar
Odpovídá na Cyril Šebek
SolusLupusUmbra:25. února 21:06

Prosím tě, to se mi to špatně zobrazuje, nebo je ta poslední věta nedokončená?

 
Nahoru Odpovědět  +1 25. února 21:06
Avatar
Cyril Šebek
Člen
Avatar
Odpovídá na SolusLupusUmbra
Cyril Šebek:25. února 21:07

Já ji dopsal, ale ona zmizela. =)

 
Nahoru Odpovědět 25. února 21:07
Avatar
Cyril Šebek
Člen
Avatar
Cyril Šebek:25. února 21:11

Jinak jsem našel že ikona souboru.jar bohužel změnit nejde, ale prý se dá obalit do.exe souboru. Ale ta ikona na liště a v pravém horním rohu je stejně uživatelsky super. Jinak jsem hodně googlil ale ne všechno mi funguje, přesněji nic =)

 
Nahoru Odpovědět 25. února 21:11
Avatar
SolusLupusUmbra
Redaktor
Avatar
Odpovídá na Cyril Šebek
SolusLupusUmbra:25. února 21:14

Na tu ikonu se kouknu, btw. jak funguje to obalení do .exe?

 
Nahoru Odpovědět 25. února 21:14
Avatar
Cyril Šebek
Člen
Avatar
Odpovídá na SolusLupusUmbra
Cyril Šebek:25. února 21:15

To mne by taky zajímalo ale zkusím si to najít a neboj napíšu ti to ==))

 
Nahoru Odpovědět 25. února 21:15
Avatar
SolusLupusUmbra
Redaktor
Avatar
Odpovídá na Cyril Šebek
SolusLupusUmbra:26. února 11:41

tak jsem to našel

setIconImage(new ImageIcon("cesta nebo url").getImage();

problém by mohl být s tou cestou. Pokud chceš mít jar a vedle složku souborů (nazvanou třeba res - jako resources), pak cesta vypadá: res/icon.png. pokud máš ikonu ve složce, která je součást zdrojového kodu , pak doporučuji getClass().getResource("/icon.png")
pokud bys měl problém s cestou k souboru, dej ještě vědět

ps: pokud použiješ první způsob, musí být u .jar ta složka, pokud použiješ druhý, ikona bude uvnitř .jar

Editováno 26. února 11:42
 
Nahoru Odpovědět 26. února 11:41
Avatar
Cyril Šebek
Člen
Avatar
Odpovídá na SolusLupusUmbra
Cyril Šebek:26. února 11:49

Mockrát dík vyzkouším. Něco z toho jsem našel na internetu, ale nebyli tam uvozovky nebo get.class() atd. Jinak ten image si můžu normálně přidat do složky ke kódu v netbeansech a nechat to zkompilovat ?

 
Nahoru Odpovědět 26. února 11:49
Avatar
SolusLupusUmbra
Redaktor
Avatar
Odpovídá na Cyril Šebek
SolusLupusUmbra:26. února 14:56

jo, ale pak musíš použít to getClass....

 
Nahoru Odpovědět 26. února 14:56
Avatar
Cyril Šebek
Člen
Avatar
Odpovídá na SolusLupusUmbra
Cyril Šebek:26. února 18:31

jinak eště dotaz, to mám napsat do souboru calculator.java (v netbeansech, javaFX FXML application) ?
Asi hloupý dotaz, ale jsem fakt začátečník.

 
Nahoru Odpovědět 26. února 18:31
Avatar
SolusLupusUmbra
Redaktor
Avatar
Odpovídá na Cyril Šebek
SolusLupusUmbra:26. února 20:11

to nevím, co je to za soubor? kde je? měla by to být normální javovská třída

 
Nahoru Odpovědět 26. února 20:11
Avatar
Cyril Šebek
Člen
Avatar
Odpovídá na SolusLupusUmbra
Cyril Šebek:26. února 20:47

No, taky že je =)

 
Nahoru Odpovědět 26. února 20:47
Avatar
Cyril Šebek
Člen
Avatar
Cyril Šebek:26. února 20:50

Tak jsem zkusil všechny varianty které jsi mi poslal, ale buďto to špatně kopírují (varianta s ikonkou v.jar, tu bych i chtěl), anebo nevím. Mohl bys mi pls napsat celý kód na tuvariantu s ikonou v .jar? Jinak, složku jsem pojmenoval images

Dík =)

 
Nahoru Odpovědět 26. února 20:50
Avatar
SolusLupusUmbra
Redaktor
Avatar
Odpovídá na Cyril Šebek
SolusLupusUmbra:26. února 22:02

tak tedy:

setIconImage(
        new ImageIcon(
                getClass().getResource(
                        "/images/icon.png"
                )
        )
.getImage()

nezapomeň, že složka images musí být nastavena jako source

Editováno 26. února 22:02
 
Nahoru Odpovědět 26. února 22:02
Avatar
Cyril Šebek
Člen
Avatar
Odpovídá na SolusLupusUmbra
Cyril Šebek:27. února 6:42

Jak, jako source? Já udělal jáva package do složky src. To nestačí? Co mám ještě udělat?

 
Nahoru Odpovědět 27. února 6:42
Avatar
SolusLupusUmbra
Redaktor
Avatar
Odpovídá na Cyril Šebek
SolusLupusUmbra:27. února 7:34

To je přesně to, co máš udělat

 
Nahoru Odpovědět 27. února 7:34
Avatar
Lubor Pešek
Člen
Avatar
Lubor Pešek:28. února 11:57

Obalení do exe souboru jde třeba přes Ideu a jenom pro FX aplikace (swing to neumí).
Když vytváříte nový artifact, dáte:
File -> projekt structure -> Artifacts -> zelené plusko -> JavaFx Application.

No a tam máte v okně záložky:
Output Layout, Pre-processing, Post-processing a na konci Java FX. Tak přejdete do záložky Java FX, kde na vás vyskočí šílený formulář. Dobrá zpráva - není třeba to všechno vyplňovat:)
Stačí vybrat první položku (v pravo jsou tři tečky, takže to můžete vyhledat) a zadáte main class (třídu, kde je main metoda s launchem).

No a dole v položce Native bundle si zvolíte exe soubor
apply, ok a pak už stačí zbuildit projekt tímto artifactem a voala - exáč s java kódem máte v komplu:)

Nahoru Odpovědět 28. února 11:57
Existují dva způsoby, jak vyřešit problém. Za prvé vyhoďte počítač z okna. Za druhé vyhoďte okna z počítače.
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 19 zpráv z 19.