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


Zobrazeno 9 zpráv z 9.
K personalizaci obsahu a reklam, poskytování funkcí sociálních médií a analýze naší návštěvnosti využíváme soubory cookie. Informace o tom, jak náš web používáte, sdílíme se svými partnery pro sociální média, inzerci a analýzy. Partneři tyto údaje mohou zkombinovat s dalšími informacemi, které jste jim poskytli nebo které získali v důsledku toho, že používáte jejich služby.
Používáme nezbytné cookies pro fungování webu a s tvým souhlasem také analytické a marketingové cookies.
Zajišťují základní funkce, bezpečnost a služby, které sis vyžádal. Nelze je vypnout.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| ITnetwork | ITnetwork | Provoz webu, relace, přihlášení a uložení nastavení cookies. | PHPSESSID, auth_token, sid, itn_consent_impression, __Host-itn_consent | Relace až 1 rok |
| Google Tag Manager | Správa značek a načítání měřicích nástrojů webu. | Žádné | Neukládá se | |
| Google Fonts | Načítání typografie webu. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele | |
| Google Hosted Libraries | Načítání potřebných knihoven a stylů webu. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele | |
| Google reCAPTCHA | Ochrana formulářů a webu před zneužitím. | _GRECAPTCHA, rc::a, rc::b, rc::c, rc::f | Relace až 180 dní | |
| YouTube | Přehrávání vloženého video obsahu. | localStorage, IndexedDB; cookies after playback interaction | Relace až trvalé úložiště | |
| Vimeo | Vimeo | Přehrávání vloženého video obsahu. | __cf_bm, _cfuvid, vuid, localStorage, IndexedDB | Relace až 2 roky |
| Facebook Login | Meta | Přihlášení pomocí účtu třetí strany. | Úložiště řízené poskytovatelem | Relace až 1 rok |
| GoPay | GoPay | Zpracování uživatelem vyžádané platby. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele |
Pomáhají nám porozumět používání webu a zlepšovat ho.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| Google Analytics 4 | Měření návštěvnosti a používání webu. | _ga, _ga_* | Až 2 roky | |
| Microsoft Clarity | Microsoft | Měření návštěvnosti a používání webu. | _clck, _clsk, _cltk | Relace až 1 rok |
Slouží k měření kampaní, personalizaci reklamy a marketingové komunikaci.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| Google Ads | Měření kampaní, reklama a remarketing. | _gcl_au, _gcl_ls | Relace až 90 dní | |
| Meta Pixel | Meta | Měření kampaní, reklama a remarketing. | _fbp, _fbc, localStorage | Až 90 dní |
| Sklik | Seznam.cz | Měření kampaní, reklama a remarketing. | retargeting, sid, szn:* | Relace až trvalé úložiště |
| LinkedIn Insight | Měření kampaní, reklama a remarketing. | bcookie, li_gc, lidc, __cf_bm | Relace až 1 rok | |
| Ecomail | Ecomail.cz | Měření kampaní, reklama a remarketing. | ecmid, Úložiště řízené poskytovatelem | Dle podmínek poskytovatele |
| Atribuce kampaní ITnetwork | ITnetwork | Přiřazení návštěvy a objednávky ke kampani. | campaign_clid[*], user_session_context | Až 1 rok |
V předchozím kvízu, Online test znalostí Java, jsme si ověřili nabyté zkušenosti z kurzu.


Tak snad nebudu říkat blbosti...
Když loaduješ .fxml soubor, tak se načte rozvržení okna z onoho souboru (v
tvém případě FXMLDocument2.fxml), a v něm je odkaz na třídu
Controlleru (FXMLDocument2Controller). Po vytvoření se v něm
zavolá metoda initialize(), která zajišťuje "přípravné práce"
po vytvoření základního dokumentu. Protože nemáš ve třídě
implementované rozhraní Initializable, tudíž tam ani nemáš onu
metodu, tak se ti okno nemůže ani načíst. Spíš doporučuji používat
předdefinované FXML soubory (v nabídce přidání souboru je možnost "Empty
FXML", po zaškrtnutí jedné z možností se ti vygeneruje i Controller),
jejichž okna budeš inicializovat z vnější třídy, jako to ty děláš zde
přes metodu (což jsem ani moc nepochopil, jestli to vůbec jde včetně
získání požadované instance Controlleru "obklikou"). I když já osobně
používám
Parent root = FXMLLoader.load(getClass().getResource("Okno.fxml"));
Takže se to dělá v initializable ? A jak to tedy bude vypadat ? Promin začínám v tom takže jsem trochu pomalejší, klidně mi sem pošli kód
Ahoj, kdyby jsi alespoň trošku pogooglil, tak vyřešíš problém hned. Nevím, jak Netbeans zobrazuje chyby, ale v IntelliJ byla chyba vypsaná jasně:
javafx.fxml.LoadException: Controller value already specified.
Po vyhledání této vyjímky na googlu mi hned na prvním odkazu vylezlo
řešení.
Řešení: Když ve druhém kontroleru definuješ kontroler pomocí metody:
fxmlLoader.setController(this);
tak nemůžeš mít tento kontroler definovanej ještě ve FXML dokumentu. Tedy v souboru
FXMLDocument2.fxml
musíš smazat toto:
fx:controller="zkouseniblbosti2.FXMLDocumentController2"
a vše bude fungovat správně.
To pocitac770 metoda initialize se implementuje pouze tehdy, když si usmyslíš, že chceš implementovat rozhraní Initializable a potřebuješ vykonat nějaké věci těsně po inicializaci okna. Toto rozhraní nehraje žádnou roli co se týče načítání okna.
Snad to pomohlo...
Super diky moc funguje
A
hele nejde to ještě nějak jednodušeji klidně ? Já jsem todle vyplodil ve
své hlavě 
Maximálně mně napadá si na to vytvořit nějakou statickou metodu v
pomocný třídě, kterou budeš volat vždy, když chceš vytvořit nový okno.
Nic jinyho mně nenapadá...
Btw, můžeš tu odpověď označit jako řešení tvého dotazu...
Jojo jasnačka já právě jenom jestli to nědelam blbě
Díky moc za vyřešení mého
problému 
Neměl jsem zrovna po ruce IDE, a kouknul jsem se jen na zdroják, tak mě
nenapadla až tak zvláštní chyba jako toto 
A s tím Initializable... Právě jsem myslel, že se nutně automaticky volá
při načtení... Tak alespoň zase o znalost víc, že to jde i bez toho 
Jasný, zkus se podívat do zdrojaku javy, jak je to s tím initializable. Zjistís, že je tam nějaká podminka typu:
if(controller instanceof Initializable)
volej nad kontrolerem metodu initialize
Zobrazeno 9 zpráv z 9.