Šta je novo?

FXMLLoader u statičkoj metodi

Sass Drake

Slavan
Učlanjen(a)
27.06.2009
Poruke
2,303
Poena
445
Imam jedan prozor koji bi trebalo da se može pozvati iz drugih prozora. Stoga sam odlučio da kod za otvaranje tog prozora stavim u statičku metodu, međutim, ova linija tj. getClass() se ne može pozvati iz statičkog konteksta.

Kod:
FXMLLoader formFXMLLoader = new FXMLLoader(getClass().getResource("/form.fxml"));

Ima li neka alternativa za getClass().getResource koja radi iz statičkog konteksta da ne moram da radim copy paste koda.

EDIT: JavaFX je u pitanju.
 
Poslednja izmena:
Kod:
ImeKlase.class.getResource("/form.fxml")

A za ImeKlase stavi klasu u kojoj si trenutno
 
Poslednja izmena:
Mislim da tako neće moći... Ipak treba instanca nečega što ima getClass().

Sent from my Nexus 6P using Tapatalk
 
@vsakos
Ta modifikacija baca exception.


Mislim da tako neće moći... Ipak treba instanca nečega što ima getClass().

Sent from my Nexus 6P using Tapatalk

Drugo ne baš tako elegantno riješenje je da napravim novu klasu i u nju stavim nestatičku metodu za otvaranje forme, a onda instancu te nove klase definišem kao statičku i onda iz nje da pozovem metodu koja prikazuje formu. :bottle:
 
Da li je to otvaranje prozora u nekoj utils klasi? Obično utils klase imaju gomilu statičkih metoda... Elem, toj func za otvaranje prozora prosledi kao parametar neki objekat koji ima getClass

Sent from my Nexus 6P using Tapatalk
 
Da li je to otvaranje prozora u nekoj utils klasi? Obično utils klase imaju gomilu statičkih metoda... Elem, toj func za otvaranje prozora prosledi kao parametar neki objekat koji ima getClass

Sent from my Nexus 6P using Tapatalk

Kao parametar toj statičkoj metodi mogu da proslijedim već kreiran FXMLLoader objekat, ali bi onda mana bila to što uvijek moram da navodim putanju do FXML fajla, ali nju mogu definisati kao statičku u main klasi. Hvala. :)
 
new FXMLLoader(getClass().getResource("/form.fxml")) radi, ali new FXMLLoader(Klasa.class.getResource("/form.fxml")) daje exception? :zgran:

Bacao mi je exception jer sam stavio FXMLLoader umjesto naziva klase u kojoj se nalazi ta statička metoda. Kad samo stavio ime klase u kojoj se nalazi statička metoda radi ki sat na Milevinu kafanu. :)
 
Nazad
Vrh Dno