mogel
8. Februar 2018 um 16:02
1
Moin,
ich verwende das LaF von http://www.jtattoo.net . Wird über IntelliJ im Classpath auch eingebunden und ich kann das, mir gefallende, LaF verwenden.
Nun wollte ich dem Benutzer die Möglichkeit geben ein eigenes LaF auszuwählen. Dazu muss ich mir die vorhanden LaF auflisten lassen.
for(UIManager.LookAndFeelInfo l : UIManager.getInstalledLookAndFeels()) logger.info("LAF: " + l.getName());
// -- null -- for(LookAndFeel l : UIManager.getAuxiliaryLookAndFeels()) logger.info("AUX: " + l.getName());
logger.info("verwendet: " + UIManager.getLookAndFeel().getName());
Als Ausgabe bekomme ich aber nur die 4 üblichen LaF von Java. Die von JTatto fehlen dabei.
system INF LAF: Meta
system INF LAF: Nimbus
system INF LAF: CDE/Motif
system INF LAF: GTK+
system INF verwendet: Aluminium
Wie komme ich an die LaF von JTatto (ohne Sie jetzt manuell in eine Datei zu packen)?
mfg, mogel
~ ~ ~ ~
Folgebeitrag, durch Forumsoftware nicht wiederherzustellen:
ionutbaiu:
Eigentlich garnicht.
Entweder in eine Datei packen.
Oder zur Laufzeit alle Klassen (wenn es nur um JTattoo geht, nur die im Package com.jtattoo.etc) durchgehen und Testen ob sie eine Sub Klasse von LookAndFeel sind und auflisten oder dem UIManager bekanntmachen.
Oder durch magische Schritte während dem Compilieren eine Auflistung der LookAndFeels erstellen und dies dann dem UIManager bekanntmachen. (Stichwort Annotation Processing)
Aber ich würde sagen, hol die auf der Seite die Sourcen und mach das ganze von Hand. Geht schneller.
ionutbaiu:
dem UIManager bekanntmachen.
Ja, das wollt ich schreiben (vielleicht) Der richtige Begriff.
mogel
9. Februar 2018 um 14:43
5
in Quelltext geschaut - der Link ist hier
scnr, wirklich S
mogel
9. Februar 2018 um 16:15
6
ionutbaiu:
Oder zur Laufzeit alle Klassen (wenn es nur um JTattoo geht, nur die im Package com.jtattoo.etc) durchgehen und Testen ob sie eine Sub Klasse von LookAndFeel sind und auflisten oder dem UIManager bekanntmachen.
das Aluminium-LaF erbt von AbstractLookAndFeel - welches wiederum MetalLookAndFeel beerbt. Damit ist die ganze Geschichte mit Laufzeit-Testen gestorben. Ich werde einfach eine Datei mit allen Namen erstellen und gut ist.
~ ~ ~ ~
Folgebeitrag, durch Forumsoftware nicht wiederherzustellen:
mogel:
in Quelltext geschaut
?
Das wäre die nächste Eskalationsstufe.
Edit: Achso, du meinst deinen Quelltext… … … (Ja ich bezog mich ja darauf)