• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Java Look and Feel auf GTK ändern

derMani

Hacker
Moinsen

man kann mit java 6 ja nun das Look &Feel von Java-Anwendungen anpassen.
Code:
	    try {
		    // Set System L&F
	        UIManager.setLookAndFeel(
	            UIManager.getSystemLookAndFeelClassName());
	    } 
	    catch (UnsupportedLookAndFeelException e) {
	    ...
	    }

Das geht leider schief... ich kann das Look & Feel nur manuell ändern wenn ich
Code:
	    try {
		    // Set System L&F
	        UIManager.setLookAndFeel("gtk.GTKLookAndFeel");
	    } 
	    catch (UnsupportedLookAndFeelException e) {
	    ...
	    }
verwende.

Auf der sun seite stand, dass das look& feel eigentlich automatisch hätte erkannt werden müssen, da GTK2 installiert ist.

http://java.sun.com/docs/books/tutorial/uiswing/lookandfeel/plaf.html#available


Hat jemand schon mit den Look&Feels rumgespielt?

Gruß
Mani
 

oc2pus

Ultimate Guru
was steht denn in der /usr/lib/jvm/java/jre/lib/swing.properties als default drin ?

und wie hast du java-1.6 installiert?
selber oder als rpm ?
wenn als RPM, dann sind die alternatives etc nicht angepasst
 
OP
derMani

derMani

Hacker
Ich habe java 1.6 über das Testing repository von openSUSE installiert...
funktioniert eigentlich alles prima sonst!

Hier der INhalt der swing.properties

Code:
rolf@rbe-linux:~> cat /usr/lib/jvm/java/lib/swing.properties
#Swing properties
swing.defaultlaf=com.sun.java.swing.plaf.gtk.GTKLookAndFeelrolf@rbe-linux:~>


die alternatives sehenauf dem ersten Blick auch richtig aus
Code:
lrwxrwxrwx 1 root root 44 12. Apr 01:14 appletviewer -> /usr/lib/jvm/java-1.6.0-sun/bin/appletviewer
lrwxrwxrwx 1 root root 52 12. Apr 01:14 appletviewer.1.gz -> /usr/share/man/man1/appletviewer-java-1_6_0-sun.1.gz
lrwxrwxrwx 1 root root 35 12. Apr 01:14 apt -> /usr/lib/jvm/java-1.6.0-sun/bin/apt
lrwxrwxrwx 1 root root 43 12. Apr 01:14 apt.1.gz -> /usr/share/man/man1/apt-java-1_6_0-sun.1.gz
lrwxrwxrwx 1 root root 43 12. Apr 01:14 ControlPanel -> /usr/lib/jvm/jre-1.6.0-sun/bin/ControlPanel
lrwxrwxrwx 1 root root 40 12. Apr 01:14 extcheck -> /usr/lib/jvm/java-1.6.0-sun/bin/extcheck
lrwxrwxrwx 1 root root 48 12. Apr 01:14 extcheck.1.gz -> /usr/share/man/man1/extcheck-java-1_6_0-sun.1.gz
lrwxrwxrwx 1 root root 13  7. Dez 22:00 ftp -> /usr/bin/pftp
lrwxrwxrwx 1 root root 29  7. Dez 22:00 ftp.1 -> /usr/share/man/man1/pftp.1.gz
lrwxrwxrwx 1 root root 45 12. Apr 01:14 HtmlConverter -> /usr/lib/jvm/java-1.6.0-sun/bin/HtmlConverter
lrwxrwxrwx 1 root root 36 12. Apr 01:14 idlj -> /usr/lib/jvm/java-1.6.0-sun/bin/idlj
lrwxrwxrwx 1 root root 44 12. Apr 01:14 idlj.1.gz -> /usr/share/man/man1/idlj-java-1_6_0-sun.1.gz
lrwxrwxrwx 1 root root 35 12. Apr 01:14 jar -> /usr/lib/jvm/java-1.6.0-sun/bin/jar
lrwxrwxrwx 1 root root 43 12. Apr 01:14 jar.1.gz -> /usr/share/man/man1/jar-java-1_6_0-sun.1.gz
lrwxrwxrwx 1 root root 41 12. Apr 01:14 jarsigner -> /usr/lib/jvm/java-1.6.0-sun/bin/jarsigner
lrwxrwxrwx 1 root root 49 12. Apr 01:14 jarsigner.1.gz -> /usr/share/man/man1/jarsigner-java-1_6_0-sun.1.gz
lrwxrwxrwx 1 root root 35 12. Apr 01:14 java -> /usr/lib/jvm/jre-1.6.0-sun/bin/java
lrwxrwxrwx 1 root root 44 12. Apr 01:14 java.1.gz -> /usr/share/man/man1/java-java-1_6_0-sun.1.gz
lrwxrwxrwx 1 root root 37 12. Apr 01:14 javac -> /usr/lib/jvm/java-1.6.0-sun/bin/javac
lrwxrwxrwx 1 root root 45 12. Apr 01:14 javac.1.gz -> /usr/share/man/man1/javac-java-1_6_0-sun.1.gz
lrwxrwxrwx 1 root root 39 12. Apr 01:14 javadoc -> /usr/lib/jvm/java-1.6.0-sun/bin/javadoc
lrwxrwxrwx 1 root root 47 12. Apr 01:14 javadoc.1.gz -> /usr/share/man/man1/javadoc-java-1_6_0-sun.1.gz
lrwxrwxrwx 1 root root 37 12. Apr 01:14 javah -> /usr/lib/jvm/java-1.6.0-sun/bin/javah
lrwxrwxrwx 1 root root 45 12. Apr 01:14 javah.1.gz -> /usr/share/man/man1/javah-java-1_6_0-sun.1.gz
lrwxrwxrwx 1 root root 37 12. Apr 01:14 javap -> /usr/lib/jvm/java-1.6.0-sun/bin/javap
lrwxrwxrwx 1 root root 45 12. Apr 01:14 javap.1.gz -> /usr/share/man/man1/javap-java-1_6_0-sun.1.gz
lrwxrwxrwx 1 root root 27 12. Apr 01:14 java_sdk -> /usr/lib/jvm/java-1.6.0-sun
lrwxrwxrwx 1 root root 27  7. Jan 13:49 java_sdk_1.5.0 -> /usr/lib/jvm/java-1.5.0-sun
lrwxrwxrwx 1 root root 35  7. Jan 13:49 java_sdk_1.5.0_exports -> /usr/lib/jvm-exports/java-1.5.0-sun
lrwxrwxrwx 1 root root 27 12. Apr 01:14 java_sdk_1.6.0 -> /usr/lib/jvm/java-1.6.0-sun
lrwxrwxrwx 1 root root 35 12. Apr 01:14 java_sdk_1.6.0_exports -> /usr/lib/jvm-exports/java-1.6.0-sun
lrwxrwxrwx 1 root root 35 12. Apr 01:14 java_sdk_exports -> /usr/lib/jvm-exports/java-1.6.0-sun
lrwxrwxrwx 1 root root 27 12. Apr 01:14 java_sdk_sun -> /usr/lib/jvm/java-1.6.0-sun
lrwxrwxrwx 1 root root 35 12. Apr 01:14 java_sdk_sun_exports -> /usr/lib/jvm-exports/java-1.6.0-sun
lrwxrwxrwx 1 root root 37 12. Apr 01:14 javaws -> /usr/lib/jvm/jre-1.6.0-sun/bin/javaws
lrwxrwxrwx 1 root root 46 12. Apr 01:14 javaws.1.gz -> /usr/share/man/man1/javaws-java-1_6_0-sun.1.gz
lrwxrwxrwx 1 root root 29 11. Dez 19:27 jaxp_parser_impl -> /usr/share/java/xerces-j2.jar
lrwxrwxrwx 1 root root 28 25. Feb 11:53 jaxp_transform_impl -> /usr/share/java/xalan-j2.jar
lrwxrwxrwx 1 root root 64  7. Jan 13:47 jce_1.5.0_sun_local_policy -> /usr/lib/jvm-private/java-1_5_0-sun/jce/vanilla/local_policy.jar
lrwxrwxrwx 1 root root 68  7. Jan 13:47 jce_1.5.0_sun_us_export_policy -> /usr/lib/jvm-private/java-1_5_0-sun/jce/vanilla/US_export_policy.jar
lrwxrwxrwx 1 root root 64 12. Apr 01:14 jce_1.6.0_sun_local_policy -> /usr/lib/jvm-private/java-1_6_0-sun/jce/vanilla/local_policy.jar
lrwxrwxrwx 1 root root 68 12. Apr 01:14 jce_1.6.0_sun_us_export_policy -> /usr/lib/jvm-private/java-1_6_0-sun/jce/vanilla/US_export_policy.jar
lrwxrwxrwx 1 root root 40 12. Apr 01:14 jconsole -> /usr/lib/jvm/java-1.6.0-sun/bin/jconsole
lrwxrwxrwx 1 root root 48 12. Apr 01:14 jconsole.1.gz -> /usr/share/man/man1/jconsole-java-1_6_0-sun.1.gz
lrwxrwxrwx 1 root root 35 12. Apr 01:14 jdb -> /usr/lib/jvm/java-1.6.0-sun/bin/jdb
lrwxrwxrwx 1 root root 43 12. Apr 01:14 jdb.1.gz -> /usr/share/man/man1/jdb-java-1_6_0-sun.1.gz
lrwxrwxrwx 1 root root 37 12. Apr 01:14 jinfo -> /usr/lib/jvm/java-1.6.0-sun/bin/jinfo
lrwxrwxrwx 1 root root 45 12. Apr 01:14 jinfo.1.gz -> /usr/share/man/man1/jinfo-java-1_6_0-sun.1.gz
lrwxrwxrwx 1 root root 36 12. Apr 01:14 jmap -> /usr/lib/jvm/java-1.6.0-sun/bin/jmap
lrwxrwxrwx 1 root root 44 12. Apr 01:14 jmap.1.gz -> /usr/share/man/man1/jmap-java-1_6_0-sun.1.gz
lrwxrwxrwx 1 root root 35 12. Apr 01:14 jps -> /usr/lib/jvm/java-1.6.0-sun/bin/jps
lrwxrwxrwx 1 root root 43 12. Apr 01:14 jps.1.gz -> /usr/share/man/man1/jps-java-1_6_0-sun.1.gz
lrwxrwxrwx 1 root root 26 12. Apr 01:14 jre -> /usr/lib/jvm/jre-1.6.0-sun
lrwxrwxrwx 1 root root 26  7. Dez 22:09 jre_1.4.2 -> /usr/lib/jvm/jre-1.4.2-gcj
lrwxrwxrwx 1 root root 34  7. Dez 22:09 jre_1.4.2_exports -> /usr/lib/jvm-exports/jre-1.4.2-gcj
lrwxrwxrwx 1 root root 26  7. Jan 13:47 jre_1.5.0 -> /usr/lib/jvm/jre-1.5.0-sun
lrwxrwxrwx 1 root root 34  7. Jan 13:47 jre_1.5.0_exports -> /usr/lib/jvm-exports/jre-1.5.0-sun
lrwxrwxrwx 1 root root 26 12. Apr 01:14 jre_1.6.0 -> /usr/lib/jvm/jre-1.6.0-sun
lrwxrwxrwx 1 root root 34 12. Apr 01:14 jre_1.6.0_exports -> /usr/lib/jvm-exports/jre-1.6.0-sun
lrwxrwxrwx 1 root root 34 12. Apr 01:14 jre_exports -> /usr/lib/jvm-exports/jre-1.6.0-sun
lrwxrwxrwx 1 root root 26  7. Dez 22:09 jre_gcj -> /usr/lib/jvm/jre-1.4.2-gcj
lrwxrwxrwx 1 root root 34  7. Dez 22:09 jre_gcj_exports -> /usr/lib/jvm-exports/jre-1.4.2-gcj
lrwxrwxrwx 1 root root 26 12. Apr 01:14 jre_sun -> /usr/lib/jvm/jre-1.6.0-sun
lrwxrwxrwx 1 root root 34 12. Apr 01:14 jre_sun_exports -> /usr/lib/jvm-exports/jre-1.6.0-sun
lrwxrwxrwx 1 root root 41 12. Apr 01:14 jsadebugd -> /usr/lib/jvm/java-1.6.0-sun/bin/jsadebugd
lrwxrwxrwx 1 root root 49 12. Apr 01:14 jsadebugd.1.gz -> /usr/share/man/man1/jsadebugd-java-1_6_0-sun.1.gz
lrwxrwxrwx 1 root root 38 12. Apr 01:14 jstack -> /usr/lib/jvm/java-1.6.0-sun/bin/jstack
lrwxrwxrwx 1 root root 46 12. Apr 01:14 jstack.1.gz -> /usr/share/man/man1/jstack-java-1_6_0-sun.1.gz
lrwxrwxrwx 1 root root 37 12. Apr 01:14 jstat -> /usr/lib/jvm/java-1.6.0-sun/bin/jstat
lrwxrwxrwx 1 root root 45 12. Apr 01:14 jstat.1.gz -> /usr/share/man/man1/jstat-java-1_6_0-sun.1.gz
lrwxrwxrwx 1 root root 38 12. Apr 01:14 jstatd -> /usr/lib/jvm/java-1.6.0-sun/bin/jstatd
lrwxrwxrwx 1 root root 46 12. Apr 01:14 jstatd.1.gz -> /usr/share/man/man1/jstatd-java-1_6_0-sun.1.gz
lrwxrwxrwx 1 root root 38 12. Apr 01:14 keytool -> /usr/lib/jvm/jre-1.6.0-sun/bin/keytool
lrwxrwxrwx 1 root root 47 12. Apr 01:14 keytool.1.gz -> /usr/share/man/man1/keytool-java-1_6_0-sun.1.gz
lrwxrwxrwx 1 root root 45 12. Apr 01:14 kinit.1.gz -> /usr/share/man/man1/kinit-java-1_6_0-sun.1.gz
lrwxrwxrwx 1 root root 45 12. Apr 01:14 klist.1.gz -> /usr/share/man/man1/klist-java-1_6_0-sun.1.gz
lrwxrwxrwx 1 root root 44 12. Apr 01:14 ktab.1.gz -> /usr/share/man/man1/ktab-java-1_6_0-sun.1.gz
lrwxrwxrwx 1 root root 44 12. Apr 01:14 native2ascii -> /usr/lib/jvm/java-1.6.0-sun/bin/native2ascii
lrwxrwxrwx 1 root root 52 12. Apr 01:14 native2ascii.1.gz -> /usr/share/man/man1/native2ascii-java-1_6_0-sun.1.gz
lrwxrwxrwx 1 root root 35 12. Apr 01:14 orbd -> /usr/lib/jvm/jre-1.6.0-sun/bin/orbd
lrwxrwxrwx 1 root root 44 12. Apr 01:14 orbd.1.gz -> /usr/share/man/man1/orbd-java-1_6_0-sun.1.gz
lrwxrwxrwx 1 root root 39 12. Apr 01:14 pack200 -> /usr/lib/jvm/java-1.6.0-sun/bin/pack200
lrwxrwxrwx 1 root root 47 12. Apr 01:14 pack200.1.gz -> /usr/share/man/man1/pack200-java-1_6_0-sun.1.gz
lrwxrwxrwx 1 root root 41 12. Apr 01:14 policytool -> /usr/lib/jvm/jre-1.6.0-sun/bin/policytool
lrwxrwxrwx 1 root root 50 12. Apr 01:14 policytool.1.gz -> /usr/share/man/man1/policytool-java-1_6_0-sun.1.gz
lrwxrwxrwx 1 root root 36 12. Apr 01:14 rmic -> /usr/lib/jvm/java-1.6.0-sun/bin/rmic
lrwxrwxrwx 1 root root 44 12. Apr 01:14 rmic.1.gz -> /usr/share/man/man1/rmic-java-1_6_0-sun.1.gz
lrwxrwxrwx 1 root root 35 12. Apr 01:14 rmid -> /usr/lib/jvm/jre-1.6.0-sun/bin/rmid
lrwxrwxrwx 1 root root 44 12. Apr 01:14 rmid.1.gz -> /usr/share/man/man1/rmid-java-1_6_0-sun.1.gz
lrwxrwxrwx 1 root root 42 12. Apr 01:14 rmiregistry -> /usr/lib/jvm/jre-1.6.0-sun/bin/rmiregistry
lrwxrwxrwx 1 root root 51 12. Apr 01:14 rmiregistry.1.gz -> /usr/share/man/man1/rmiregistry-java-1_6_0-sun.1.gz
lrwxrwxrwx 1 root root 41 12. Apr 01:14 serialver -> /usr/lib/jvm/java-1.6.0-sun/bin/serialver
lrwxrwxrwx 1 root root 49 12. Apr 01:14 serialver.1.gz -> /usr/share/man/man1/serialver-java-1_6_0-sun.1.gz
lrwxrwxrwx 1 root root 41 12. Apr 01:14 servertool -> /usr/lib/jvm/jre-1.6.0-sun/bin/servertool
lrwxrwxrwx 1 root root 50 12. Apr 01:14 servertool.1.gz -> /usr/share/man/man1/servertool-java-1_6_0-sun.1.gz
lrwxrwxrwx 1 root root 40 12. Apr 01:14 tnameserv -> /usr/lib/jvm/jre-1.6.0-sun/bin/tnameserv
lrwxrwxrwx 1 root root 49 12. Apr 01:14 tnameserv.1.gz -> /usr/share/man/man1/tnameserv-java-1_6_0-sun.1.gz
lrwxrwxrwx 1 root root 41 12. Apr 01:14 unpack200 -> /usr/lib/jvm/java-1.6.0-sun/bin/unpack200
lrwxrwxrwx 1 root root 49 12. Apr 01:14 unpack200.1.gz -> /usr/share/man/man1/unpack200-java-1_6_0-sun.1.gz
lrwxrwxrwx 1 root root 38 11. Dez 19:27 xml-commons-apis -> /usr/share/java/xerces-j2-xml-apis.jar
lrwxrwxrwx 1 root root 42 11. Dez 19:27 xml-commons-resolver -> /usr/share/java/xerces-j2-xml-resolver.jar
lrwxrwxrwx 1 root root 36  7. Dez 22:11 xulrunner -> /usr/lib/xulrunner-1.8.1b2/xulrunner
 
OP
derMani

derMani

Hacker
Es funktioniert nun halb

Wenn ich keine Look&Feel-Anpassungen vornehme, übernimmt java nun per default das GTK2-Look&Feel


Aber ein
System.out.println(UIManager.getSystemLookAndFeelClassName());
ergibt immer noch

Code:
javax.swing.plaf.metal.MetalLookAndFeel

Warum? =)
 

oc2pus

Ultimate Guru
derMani schrieb:

weil du die anderen Look & Feel's nicht in der swing.properties aufgelistet hast :)

Beispiel:
Code:
swing.installedlafs = motif,windows,metal,mac
swing.installedlaf.motif.name = CDE/Motif
swing.installedlaf.motif.class = com.sun.java.swing.plaf.motif.MotifLookAndFeel
swing.installedlaf.windows.name = Windows
swing.installedlaf.windows.class = com.sun.java.swing.plaf.windows.WindowsLookAndFeel
swing.installedlaf.metal.name = Metal
swing.installedlaf.metal.class = javax.swing.plaf.metal.MetalLookAndFeel
swing.installedlaf.mac.name = Mac
swing.installedlaf.mac.class = com.sun.java.swing.plaf.mac.MacLookAndFeel
swing.installedlaf.liquid.name = Liquid
swing.installedlaf.liquid.class = com.birosoft.liquid.LiquidLookAndFeel
swing.defaultlaf=com.birosoft.liquid.LiquidLookAndFeel
 
Oben