IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

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

V předchozím kvízu, Online test znalostí Java, jsme si ověřili nabyté zkušenosti z kurzu.

Aktivity
Avatar
Cyril Šebek
Tvůrce
Avatar
Cyril Šebek:24.2.2019 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.2.2019 17:28
Chytrý člověk řeší problém. Moudrý člověk se problému vyhýbá. -Albert Einstein
Avatar
Ondřej Němec
Tvůrce
Avatar
Odpovídá na Cyril Šebek
Ondřej Němec:25.2.2019 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.2.2019 20:10
Život by byl mnohem jednodušší, kdybychom k němu měli zdrojový kód.
Avatar
Cyril Šebek
Tvůrce
Avatar
Odpovídá na Ondřej Němec
Cyril Šebek:25.2.2019 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.2.2019 20:51
Chytrý člověk řeší problém. Moudrý člověk se problému vyhýbá. -Albert Einstein
Avatar
Ondřej Němec
Tvůrce
Avatar
Odpovídá na Cyril Šebek
Ondřej Němec:25.2.2019 21:06

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

Nahoru Odpovědět
25.2.2019 21:06
Život by byl mnohem jednodušší, kdybychom k němu měli zdrojový kód.
Avatar
Cyril Šebek
Tvůrce
Avatar
Odpovídá na Ondřej Němec
Cyril Šebek:25.2.2019 21:07

Já ji dopsal, ale ona zmizela. =)

Nahoru Odpovědět
25.2.2019 21:07
Chytrý člověk řeší problém. Moudrý člověk se problému vyhýbá. -Albert Einstein
Avatar
Cyril Šebek
Tvůrce
Avatar
Cyril Šebek:25.2.2019 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.2.2019 21:11
Chytrý člověk řeší problém. Moudrý člověk se problému vyhýbá. -Albert Einstein
Avatar
Ondřej Němec
Tvůrce
Avatar
Odpovídá na Cyril Šebek
Ondřej Němec:25.2.2019 21:14

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

Nahoru Odpovědět
25.2.2019 21:14
Život by byl mnohem jednodušší, kdybychom k němu měli zdrojový kód.
Avatar
Cyril Šebek
Tvůrce
Avatar
Odpovídá na Ondřej Němec
Cyril Šebek:25.2.2019 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.2.2019 21:15
Chytrý člověk řeší problém. Moudrý člověk se problému vyhýbá. -Albert Einstein
Avatar
Ondřej Němec
Tvůrce
Avatar
Odpovídá na Cyril Šebek
Ondřej Němec:26.2.2019 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.2.2019 11:42
Nahoru Odpovědět
26.2.2019 11:41
Život by byl mnohem jednodušší, kdybychom k němu měli zdrojový kód.
Avatar
Cyril Šebek
Tvůrce
Avatar
Odpovídá na Ondřej Němec
Cyril Šebek:26.2.2019 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.2.2019 11:49
Chytrý člověk řeší problém. Moudrý člověk se problému vyhýbá. -Albert Einstein
Avatar
Ondřej Němec
Tvůrce
Avatar
Odpovídá na Cyril Šebek
Ondřej Němec:26.2.2019 14:56

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

Nahoru Odpovědět
26.2.2019 14:56
Život by byl mnohem jednodušší, kdybychom k němu měli zdrojový kód.
Avatar
Cyril Šebek
Tvůrce
Avatar
Odpovídá na Ondřej Němec
Cyril Šebek:26.2.2019 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.2.2019 18:31
Chytrý člověk řeší problém. Moudrý člověk se problému vyhýbá. -Albert Einstein
Avatar
Ondřej Němec
Tvůrce
Avatar
Odpovídá na Cyril Šebek
Ondřej Němec:26.2.2019 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.2.2019 20:11
Život by byl mnohem jednodušší, kdybychom k němu měli zdrojový kód.
Avatar
Cyril Šebek
Tvůrce
Avatar
Odpovídá na Ondřej Němec
Cyril Šebek:26.2.2019 20:47

No, taky že je =)

Nahoru Odpovědět
26.2.2019 20:47
Chytrý člověk řeší problém. Moudrý člověk se problému vyhýbá. -Albert Einstein
Avatar
Cyril Šebek
Tvůrce
Avatar
Cyril Šebek:26.2.2019 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.2.2019 20:50
Chytrý člověk řeší problém. Moudrý člověk se problému vyhýbá. -Albert Einstein
Avatar
Ondřej Němec
Tvůrce
Avatar
Odpovídá na Cyril Šebek
Ondřej Němec:26.2.2019 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.2.2019 22:02
Nahoru Odpovědět
26.2.2019 22:02
Život by byl mnohem jednodušší, kdybychom k němu měli zdrojový kód.
Avatar
Cyril Šebek
Tvůrce
Avatar
Odpovídá na Ondřej Němec
Cyril Šebek:27.2.2019 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.2.2019 6:42
Chytrý člověk řeší problém. Moudrý člověk se problému vyhýbá. -Albert Einstein
Avatar
Ondřej Němec
Tvůrce
Avatar
Odpovídá na Cyril Šebek
Ondřej Němec:27.2.2019 7:34

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

Nahoru Odpovědět
27.2.2019 7:34
Život by byl mnohem jednodušší, kdybychom k němu měli zdrojový kód.
Avatar
Lubor Pešek
Člen
Avatar
Lubor Pešek:28.2.2019 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.2.2019 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.