Look & Feel wird nicht korrekt angezeigt

Status
Nicht offen für weitere Antworten.

Randall

Bekanntes Mitglied
Ich setze zu beginn des Programms in der main-Methode folgenden Code um das LookAndFeel zu setzen:

Code:
try {			
UIManager.setLookAndFeel("javax.swing.plaf.metal.MetalLookAndFeel");			
    }
catch (Exception e) { }


Das LookAndFeel wird aber nicht richtig angenommen, wird doch das XP übliche Design verwendet.
 
G

Guest

Gast
Also, eine Exception wird nicht geworfen. Habe es nun mit folgendem Code probiert:

Code:
public static void main(String[] args) {
  System.out.println(UIManager.getLookAndFeel());			

  // LookAndFeel setzen 
    try {			
           UIManager.setLookAndFeel(UIManager.getCrossPlatformLookAndFeelClassName());
         }
    catch (Exception e) {System.out.println("Fehler beim setzen des LookAndFeel: "+e);};
    
    System.out.println(UIManager.getLookAndFeel());

Die System-Ausgabe wie folgt:

[The Java(tm) Look and Feel - javax.swing.plaf.metal.MetalLookAndFeel]
[The Java(tm) Look and Feel - javax.swing.plaf.metal.MetalLookAndFeel]


Also scheint alles in Ordnung zu sein. Komischerweise wird das LookAndFeel nicht richtig angezeigt, es bleibt auf dem System-LookAndFeel (XP).

Seltsamerweise funktioniert es mit dem dritten LookAndFeel im Bunde:


Code:
UIManager.setLookAndFeel("com.sun.java.swing.plaf.motif.MotifLookAndFeel");

Eine Idee, woran das liegen könnte?
 

Randall

Bekanntes Mitglied
Ich erzeuge ein JFrame, habe die Klasse natürlich auch von JFrame abgeleitet.

Aus dem awt hab ich folgendes importiert:

Code:
import java.awt.Color;
import java.awt.Container;
import java.awt.Dimension;
import java.awt.Event;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.Insets;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

Diese muss ich ja aus dem awt importieren und gebrauchen ? Könnte das Problem darin versteckt liegen? Dass, was ich meines wissen mit Swing machen kann, habe ich auch mit Swing-Komponenten gemacht.
 
B

Beni

Gast
Nö, diese AWT-Dinger stören da nicht (wie du selbst sagst, ohne die geht es gar nicht).

Hm, ist das dort oben dein Originalcode, oder hast du bereits vor dem Wechsel des LaF dein JFrame hergestellt?

Falls ja, ruf mal auf:
Code:
SwingUtilities.updateComponentTreeUI( dasFrame );
 
G

Guest

Gast
Nö, das Fenster erzeuge ich erst ganz zum Schluss der Main-Methode. Hier die Original-Main-Methode.


Code:
// Main-Methode 	
	
	public static void main(String[] args) {
		System.out.println(UIManager.getLookAndFeel());			
  // LookAndFeel setzen 
		try {			
			UIManager.setLookAndFeel(UIManager.getCrossPlatformLookAndFeelClassName()); 
		}
	    catch (Exception e) {System.out.println("Fehler beim setzen des LookAndFeel: "+e);};
	    
	    System.out.println(UIManager.getLookAndFeel());
	    
  // Bildschirmgrösse ermitteln und für Fenstergrösse anpassen
	    SukeLogical sxSize = new SukeLogical();
	    SukeLogical sySize = new SukeLogical();
	    screenWidth = sxSize.getSizeX();
	    screenHeight = sySize.getSizeY()-35;	    
	    
  // Hauptfenster erzeugen	
		mainframe = new SukeMainFrame("SUKE Verwaltungsprogramm",0,0,screenWidth, screenHeight);
	}


Aber ich habe jetzt einen Weg gefunden. Mit folgender Main-Methode klappt es:



Code:
public static void main(String[] args) {
		System.out.println(UIManager.getLookAndFeel());			
  // LookAndFeel setzen 
		try {			
			UIManager.setLookAndFeel(UIManager.getCrossPlatformLookAndFeelClassName()); 
			JFrame.setDefaultLookAndFeelDecorated(true);
		}
	    catch (Exception e) {System.out.println("Fehler beim setzen des LookAndFeel: "+e);};	    

	    System.out.println(UIManager.getLookAndFeel());	    

  // Bildschirmgrösse ermitteln und für Fenstergrösse anpassen
	    SukeLogical sxSize = new SukeLogical();
	    SukeLogical sySize = new SukeLogical();
	    screenWidth = sxSize.getSizeX();
	    screenHeight = sySize.getSizeY()-35;	    
	    
  // Hauptfenster erzeugen	
		mainframe = new SukeMainFrame("SUKE Verwaltungsprogramm",0,0,screenWidth,screenHeight );		
	}


Die Zeile

Code:
 JFrame.setDefaultLookAndFeelDecorated(true);

erzeugt das richtige Fenster. Ich hab nämlich festgestellt, dass nur das Fenster selbst im XP-Style war, die Componenten waren die richtigen im Metal-Look. Nun klappt es.
 

Reality

Top Contributor
Bei mir geht folgender Code nicht:

Code:
    try {
      UIManager.setLookAndFeel("com.sun.java.swing.plaf.gtk.GTKLookAndFeel");
    } catch (Exception e) { }
    frame.setDefaultLookAndFeelDecorated(true);

Exception wird keine geworfen und JFrame ist meine Superklasse.

Liebe Grüße
Reality
 

Reality

Top Contributor
Hat sich erledigt. Ich muss zuerst das LookAndFeel setzen, bevor ich ein Fenster erzeuge.

Liebe Grüße
Reality
 

Reality

Top Contributor
Jetzt habe ich mir eins runtergeladen und es geht nicht:

java.lang.NoClassDefFoundError: oyoahalnfb/com/oyoaha/swing/plaf/oyoaha/OyoahaLookAndFeel (wrong name: com/oyoaha/swing/plaf/oyoaha/OyoahaLookAndFeel)
at java.lang.ClassLoader.defineClass0(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:537)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:123)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:251)
at java.net.URLClassLoader.access$100(URLClassLoader.java:55)
at java.net.URLClassLoader$1.run(URLClassLoader.java:194)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:187)
at java.lang.ClassLoader.loadClass(ClassLoader.java:289)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:274)
at java.lang.ClassLoader.loadClass(ClassLoader.java:235)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:302)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:219)
at javax.swing.SwingUtilities.loadSystemClass(SwingUtilities.java:1677)
at javax.swing.UIManager.setLookAndFeel(UIManager.java:423)
at GUI.main(GUI.java:77)
Exception in thread "main"

Dabei hat JBuilder das Package erkannt. Wenn ich die Unterpackages durch ein Punkt getrennt habe, dann hat mir JBuilder alles aufgelistet.

Code:
    try {
  UIManager.setLookAndFeel("oyoahalnfb.com.oyoaha.swing.plaf.oyoaha.OyoahaLookAndFeel");
} catch (Exception e) { }

EDIT: Ein andere das ich mir gesaugt habe, geht.

Liebe Grüße
Reality
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Look and Feel Java Basics - Anfänger-Themen 3
H Look-and-feel für Einzelkomponenten? Java Basics - Anfänger-Themen 3
M Look and Feel installieren Java Basics - Anfänger-Themen 3
I Nimbus Look and Feel Java Basics - Anfänger-Themen 5
C Keine Icons bei Java Look&Feel Java Basics - Anfänger-Themen 5
W Look And Feel, wie ändern? Java Basics - Anfänger-Themen 10
C Windows Look and Feel unter Linux Java Basics - Anfänger-Themen 10
N Look & Feel Nimbus wofür? Java Basics - Anfänger-Themen 10
K Look and Feel Java Basics - Anfänger-Themen 3
F Look and Feel OS-L&F Java Basics - Anfänger-Themen 2
G Look and Feel zur Laufzeit ändern Java Basics - Anfänger-Themen 2
O Look and Feel - mein 1. Versuch Java Basics - Anfänger-Themen 7
P Java Look & Feel - Windows Media Player 11 Java Basics - Anfänger-Themen 5
S Frage zu Look and Feel changen. (Synthetica) Java Basics - Anfänger-Themen 4
G Mac OS Look&Feel unter Windows nutzen Java Basics - Anfänger-Themen 15
G Look&Feel - Fenster starten Java Basics - Anfänger-Themen 22
K Warum wird mir auf der Konsole des Servers nicht "xxxx" angezeigt (Server/Client) Java Basics - Anfänger-Themen 4
K Warum wird hier nur etwas in eine txt Datei geschrieben und nicht in alle drei (InputStream/OutputStream/Reader/Writer) Java Basics - Anfänger-Themen 1
I Exception wird gefangen, aber trotzdem in Error Log? Java Basics - Anfänger-Themen 10
H JDK installieren jdk-21 wird nicht erkannt Java Basics - Anfänger-Themen 13
T if-else Bedingung wird ignoriert Java Basics - Anfänger-Themen 4
K Warum wird mir "Empfangen vom Client:" nicht sofort ausgegeben(Server/Client) Java Basics - Anfänger-Themen 3
P Webseite vom Smartmeter wird nur unleserlich angezeigt Java Basics - Anfänger-Themen 7
A Warum wird mein jdk nicht gefunden? Java Basics - Anfänger-Themen 3
J jar Befehl wird nicht erkannt Java Basics - Anfänger-Themen 7
M Anonyme Klassen - Warum wird in der Konsole nichts ausgegeben? Java Basics - Anfänger-Themen 1
T catch(InputMismatchException) wird nicht ausgefürt/erkannt Java Basics - Anfänger-Themen 12
berserkerdq2 Intelij, wie kann ich einstellen, dass die aktuelle Klasse ausgeführt wird, wenn ich aufs Startsymbol drücke, gibts da eine Tastenkombination? Java Basics - Anfänger-Themen 11
M Verständnisfrage: Warum wird die Datei ohne Inhalt übertragen Java Basics - Anfänger-Themen 3
Ostkreuz Wieso wird die Methode nochmal aufgerufen? Java Basics - Anfänger-Themen 5
Oneixee5 Maven Plugin wird 2 mal ausgeführt Java Basics - Anfänger-Themen 10
R Compiler-Fehler Variable wird nicht gefunden bzw. erkannt? Java Basics - Anfänger-Themen 2
D Interface Methode wird ungewollt in der Subklasse überschrieben Java Basics - Anfänger-Themen 5
C Was tun wenn .class erwartet wird ? Java Basics - Anfänger-Themen 6
T Meine Klasse wird nicht gefunden Java Basics - Anfänger-Themen 1
T Wie kann man es machen das ein Objekt nicht übermalt wird Java Basics - Anfänger-Themen 2
K Warum wird mir hier nach dem ersten Durchlauf zwei mal "welchen Datentyp wollen sie übergeben?" ausgegeben ? Java Basics - Anfänger-Themen 1
MiMa Ungültiges Datum wird nicht erkannt ?? Java Basics - Anfänger-Themen 6
schemil053 Multithread - Input verrutscht während etwas ausgegeben wird Java Basics - Anfänger-Themen 6
K REGEX - Rechnungsbetrag wird nicht richtig ausgelesen. Java Basics - Anfänger-Themen 3
_user_q Timer - ScheduledExecutorService wird schon vorher beendet Java Basics - Anfänger-Themen 5
X Erste Schritte Scanner eingabe wird übersprungen Java Basics - Anfänger-Themen 4
H Compiler-Fehler Klasse in einem Package wird nicht gefunden bzw. akzeptiert Java Basics - Anfänger-Themen 12
L Switch-Case Multiplikation wird nicht ausgegeben Java Basics - Anfänger-Themen 1
J In der Ausgabe wird ohne Eingabe in den else Block gesprungen. Java Basics - Anfänger-Themen 0
J In der Ausgabe wird ohne Eingabe in den else Block gesprungen. Java Basics - Anfänger-Themen 5
M Text wird in der Console nicht ausgegeben. Java Basics - Anfänger-Themen 11
I Methoden Wieso wird mein Array "a" verändert und meine Variable "a" nicht? Java Basics - Anfänger-Themen 4
S Datei anlegen Problem! Groß- und Kleinschreibung wird nicht unterschieden Java Basics - Anfänger-Themen 4
sserio Zweidimensionales Array [][] wird untereinander ausgegeben Java Basics - Anfänger-Themen 14
sserio Math. Befehl wird rot markiert Java Basics - Anfänger-Themen 5
M Rechteck wird nicht angezeigt Java Basics - Anfänger-Themen 3
B Bungeecord | ProxiedPlayer wird nicht in ArrayList hinzugefügt Java Basics - Anfänger-Themen 1
U Methode wird genutzt, ohne dass ich die aufrufe? Java Basics - Anfänger-Themen 4
S Methoden Return Rückgabewert wird nicht übergeben Java Basics - Anfänger-Themen 8
M Mein quellcode wird nicht in der Konsole ausgegeben Java Basics - Anfänger-Themen 3
I Code wird nicht ausgeführt Java Basics - Anfänger-Themen 2
M wird der Konstruktor nicht als 1. ausgeführt? Java Basics - Anfänger-Themen 13
G Main Methode wird beim ersten Aufruf nicht richtig ausgeführt Java Basics - Anfänger-Themen 1
K Präzedenregeln in Java sagen, dass +expr und -expr vor + von Addition und - von Addition stehen, warum wird dann z. B. a+b als eine Addition ausgeführ Java Basics - Anfänger-Themen 7
M Was wird hier genau getestet? Java Basics - Anfänger-Themen 9
M Wie schreibe ich eine if-Verzweigung um, so dass ein Bedingungsoperator benutzt wird? Java Basics - Anfänger-Themen 9
I Programm erkennt nicht an das Array zurückgegeben wird trotz Initialisierung *einfach* Java Basics - Anfänger-Themen 9
K Jlabel mit itemlistevent Text gegeben, wird nicht angezeigt Java Basics - Anfänger-Themen 5
P Mein Programm wird zwar erfolgreich Compiliert, öffnet sich aber nicht Java Basics - Anfänger-Themen 6
M Referenzen zuweisen und wird gleichzeitig ausgeführt Java Basics - Anfänger-Themen 6
O System.out.println wird nicht ausgegeben? Java Basics - Anfänger-Themen 11
Zrebna Umgebungsvariable Wieso wird meine verwendete JDK-Version in der Prompt nicht erkannt? Java Basics - Anfänger-Themen 6
el_pato DialogFenster wird nicht in Schleife geöffnet? Java Basics - Anfänger-Themen 30
J if-Schleife innerhalb einer if-Schleife wird in der Konsole nicht gelesen Java Basics - Anfänger-Themen 4
P Apache Derby wird in Eclipse trotz Anbindung nicht gefunden Java Basics - Anfänger-Themen 6
H Array wird als Rückgabewert nicht akzeptiert? Java Basics - Anfänger-Themen 2
Poppigescorn scan.nextInt() wiederholen bis eine Zahl eingeben wird Java Basics - Anfänger-Themen 7
F Session wird mehrfach erzeugt Java Basics - Anfänger-Themen 11
F Initialisieren eines Web-Mp3 Players in Tabs durch "booleans" erst wenn Tab geöffnet wird ...? Java Basics - Anfänger-Themen 1
fuerteb Compiler-Fehler Methode wird nicht bzw. als Fehler erkannt Java Basics - Anfänger-Themen 4
L JScrollPane wird nicht angezeigt Java Basics - Anfänger-Themen 10
D Hilfe beim Erzeugen eines Arrays NullPointerException wird ausgelöst Java Basics - Anfänger-Themen 11
J JTable Titel wird nicht angezeigt Java Basics - Anfänger-Themen 6
krgewb Long wird gerundet Java Basics - Anfänger-Themen 2
Zwanglos Warum wird nur die erste Zeile im while Block ausgeführt? Java Basics - Anfänger-Themen 8
F Wieso wird immer die falsche Mausposition angegeben? Java Basics - Anfänger-Themen 1
H GridPane wird nicht angezeigt Java Basics - Anfänger-Themen 0
M Was habe ich hier falsch, dass wenn ich z.B.: 11 eingebe mir false zurück gegeben wird? Java Basics - Anfänger-Themen 2
M Java Spiel wie Wer wird Millionär Java Basics - Anfänger-Themen 1
H Endkapital wird nicht korrekt ausgegeben. Java Basics - Anfänger-Themen 5
C Methodenrückgabe wird in der main nicht berücksichtigt Java Basics - Anfänger-Themen 2
X compareTo Methode wird ignoriert Java Basics - Anfänger-Themen 7
kodela Hauptklasse wird nicht gefunden Java Basics - Anfänger-Themen 3
H Befehl wird nicht ausgeführt - System.out.println Java Basics - Anfänger-Themen 3
I Input/Output Code wird doppelt ausgeführt Java Basics - Anfänger-Themen 3
P Bedingung in Schleife wird nicht ausgeführt Java Basics - Anfänger-Themen 5
P Variablen HttpResponse.getBody() wird automatisch org.json Object und kann nicht zu json.simple Object gecastet werden? Java Basics - Anfänger-Themen 7
N Selection Algorithmus: Methode wird nicht erkannt (BlueJ) Java Basics - Anfänger-Themen 3
N package wird doppelt im exporer angezeigt Java Basics - Anfänger-Themen 2
N Bedinugng If-Abfrage wird nie erfüllt Java Basics - Anfänger-Themen 4
M Else wird nicht ausgeführt. Java Basics - Anfänger-Themen 5
H Wie wird ein String intern gespeichert? Java Basics - Anfänger-Themen 10
A char array wird überschrieben Java Basics - Anfänger-Themen 6
E Methoden Action Event wird nicht vollständig ausgeführt Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben