LookAndFeel Look And Feel ändert sich nicht

Kamairo

Mitglied
Hi Leute,

bin dabei ein Programm zu schreiben und hatte in der ersten Version quasi einfach alles hinternander weg geschrieben und in der zweiten Version alles in einzelne Klassen aufgeteilt. In der ersten Version funktioniert das Look And Feel verändern problemlos in der zweiten überhaupt nicht. Hier mal nen bisschen code:

Version 1:
Java:
public class Programm {

//kein konstruktor wie gesagt alles wird hinternander weg geschrieben
//Hier wird dann die Gui erzeugt
Frame masterFrame = new Frame();
//usw und so fort panels adden komponenten adden

//es folgt dann hier der programmablauf nach dem bauen der gui


//dan hab ich ne main die die klasse instanziert
public static void main(String[] args){

		
		Programm v = new Programm();
		v.masterFrame().setVisible(true);

	    try {		    
	        UIManager.setLookAndFeel(
	            UIManager.getCrossPlatformLookAndFeelClassName());
	    } 
	    catch (UnsupportedLookAndFeelException e) {

	    }
	    catch (ClassNotFoundException e) {
	       
	    }
	    catch (InstantiationException e) {
	       
	    }
	    catch (IllegalAccessException e) {
	      
	    }
			    
 
	}

}

Das funktioniert so, das Look And Feel wird zu dem Metal Design.


Version 2:


Java:
public class Start {		
	
	public static void main(String[] args) {		
		
		 try {
			    
		        UIManager.setLookAndFeel(
		            UIManager.getCrossPlatformLookAndFeelClassName());
		    } 
		    catch (UnsupportedLookAndFeelException e) {
		       // handle exception
		    }
		    catch (ClassNotFoundException e) {
		       // handle exception
		    }
		    catch (InstantiationException e) {
		       // handle exception
		    }
		    catch (IllegalAccessException e) {
		       // handle exception
		    }
		    
					
		new Programm();
				
	}

}

public class programm {

public programm(){

//Hier wird dann die Gui erzeugt

}


}


Version 2 funktioniert nicht. Also das Programm an sich schon, nur setzt er den Look And Feel nicht,
auch egal wo ich das hinschreibe. Ob das in der Main steht ob es in der Klasse programm steht, am Anfang am Ende, total egal, er setzt das Look And Feel einfach nicht.

Hab dann mal an diverse Stellen im Programm nen System.out.println geschrieben. Er führt alle Methoden und den Konstruktor so aus wie er es soll und für auch die Zeilen zum wechseln des Look and Feel aus ohne eine Exception.

Ich versteh das einfach nicht. Was übersehe ich?
 

noobadix

Bekanntes Mitglied
Zunächst das Obligatorische: Im catch-Block auf der Exception zur Fehlersuche auch printStackTrace() aufrufen (wozu überhaupt das differenzierte Exception-handling hier im Beispiel?) und Klassennamen ("Programm" in Version 2) groß schreiben!

Zeig bitte den originalen Kod, denn aus deinem "Pseudokod" lässt sich nicht viel ersehen, finde ich.

Gruß!
 

Kamairo

Mitglied
1. Das exception handling gibt eclipse so vor, sprich er meckert wenn man es nicht reinschreibt und genau so steht es in der Java Dokumentation von sun.

2. Der original Code ist nen bisschen lang, deswegen hab ich das mal umgeschrieben.

Es geht mir hier wirklich nur um das Setzen vom Look And Feel. Also dann hier mal nen bisschen original Code:

Java:
package parkplatzgenerator;

import javax.swing.UIManager;
import javax.swing.UnsupportedLookAndFeelException;

public class Start {	
	

	public static void main(String[] args) {		
		
		 try {
			    // Set cross-platform Java L&F (also called "Metal")
		        UIManager.setLookAndFeel(
		            UIManager.getCrossPlatformLookAndFeelClassName());
		    } 
		    catch (UnsupportedLookAndFeelException e) {
		       // handle exception
		    }
		    catch (ClassNotFoundException e) {
		       // handle exception
		    }
		    catch (InstantiationException e) {
		       // handle exception
		    }
		    catch (IllegalAccessException e) {
		       // handle exception
		    }
		    
			//Create and show the GUI.		
		new ParkplatzGenerator();
		
		
		
	}

}

Java:
package parkplatzgenerator;


public class ParkplatzGenerator {
	
	
	
	public ParkplatzGenerator() {		
		
		
		    new ParkplatzGeneratorGUI();
	    
		    
		    //Programmablauf
	}

	

}

Java:
package parkplatzgenerator;

import java.awt.Dimension;
import java.awt.FileDialog;
import java.awt.Font;
import java.awt.Graphics2D;
import java.awt.Point;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;

import javax.imageio.ImageIO;
import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JProgressBar;
import javax.swing.JTextField;

public class ParkplatzGeneratorGUI {	

	
	public JFrame masterFrame;
... erzeuge alle Komponenten ...
Java:
	private JMenuItem jMenuItemExit;

	public ParkplatzGeneratorGUI(){		
			
				masterFrame = new JFrame();
				masterFrame.setSize(new Dimension(980, 765));
				masterFrame.setTitle("Parkplatz Generator");
				masterFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
				masterFrame.setResizable(false);
... konfiguriere die ganzen Komponenten ...
Java:
				masterPanel.add(jlbHeader1);
... adde die ganzen Komponenten ...
Java:
				masterPanel.add(jlbpb);
				
				
				
				
				
				masterFrame.setContentPane(masterPanel);				
			
				masterFrame.setVisible(true);
				
			
		
	}

}
 

Ezra

Bekanntes Mitglied
1. Das exception handling gibt eclipse so vor, sprich er meckert wenn man es nicht reinschreibt und genau so steht es in der Java Dokumentation von sun.
Du hast aber schon die Kommentare "//handle exception" gelesen, oder? Was Du machst, ist die Exceptions zu verschlucken. Du wirst nie erfahren, falls eine geworfen wird. Also setz doch bitte einfach das printStackTrace überall und guck Dir den Output an. Da kommt garantiert eine Exception.
 

Kamairo

Mitglied
Java:
package parkplatzgenerator;

import javax.swing.UIManager;
import javax.swing.UnsupportedLookAndFeelException;

public class Start {	
	
	/**
	 * @param args
	 */
	public static void main(String[] args) {
		System.out.println("starte");
		
		 try {
			    // Set cross-platform Java L&F (also called "Metal")
		        UIManager.setLookAndFeel(
		            UIManager.getCrossPlatformLookAndFeelClassName());
		        System.out.println("Setze Look And Feel");
		    } 
		    catch (UnsupportedLookAndFeelException e) {
		    	System.out.println("UnsupportedLookAndFeelException");
		    	e.printStackTrace();
		    }
		    catch (ClassNotFoundException e) {
		    	System.out.println("ClassNotFoundException");
		    	e.printStackTrace();
		    }
		    catch (InstantiationException e) {
		    	System.out.println("InstantiationException");
		    	e.printStackTrace();
		    }
		    catch (IllegalAccessException e) {
		    	System.out.println("IllegalAccessException");
		    	e.printStackTrace();
		    }
		    
			//Create and show the GUI.		
		new ParkplatzGenerator();
		
		
		
	}

}

Konsole:
starte
Setze Look And Feel

Der wirft keine Exception keine Sorge. Deswegen "verschlucke" ich die.

Ja sry es ist natürlich nen JFrame, auch wenn ich diesen typo in der funktionierenden Version eingebaut hab ;)


edit: also seit ihr auch der meinung dass das eig so funktionieren sollte? Steht ja auch genau so in der offiziellen java doc...
 
Zuletzt bearbeitet:

noobadix

Bekanntes Mitglied
Das Metal-LAF ist meines Wissens das default-LAF, das hast du im Hinterkopf? Lass mal die Namen des eingestellten und das des Ziel-LAFs ausgeben.
 

Kamairo

Mitglied
Mhhh ne Version 1 sieht ja definitiv anders aus als Version 2.
Bei Version 1 ist es Metall und bei Version 2 nicht. Weiß nicht welches das ist, glaube das von der aktuellen platform ist da default.


edit: So hab jetzt mal an alle möglichen Stellen im Programm
Java:
System.out.println("Look and Feel aktuell: " + UIManager.getLookAndFeel());
geschrieben. Und die Ausgabe ist IMMER:

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

Selbst ohne das Look And Feel zu verändern, also ja Standard ist Metal, er zeigt das Programm nur nicht in Metal.

edit2: Habs rausgefunden! Es lag an einem plugin (basierend auf dem VTK) welches, wenn die Swing Komponente davon erzeugt wurde, den LaF zurückgesetzt wurde. Steht das setzen vom Look And Feel exakt hinter der Instanzierung von genannter Komponente klappt es.
 
Zuletzt bearbeitet:

noobadix

Bekanntes Mitglied
Und darauf hätte man durch dein erstes Posting kommen können??? Für die Zukunft versuch bitte ALLE relevanten Informationen für eine Rekonstruktion des Problems zu nennen. Aber schön, dass es jetzt funktioniert ^^
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
S Look und Feel ändert sich nicht AWT, Swing, JavaFX & SWT 4
Hatsi09 Look and Feel AWT, Swing, JavaFX & SWT 6
MaxG. Swing Java Look and Feel AWT, Swing, JavaFX & SWT 2
Neumi5694 LookAndFeel Look & Feel nicht angezeigter Komponenten ändern AWT, Swing, JavaFX & SWT 6
M JFileChooser Look and Feel AWT, Swing, JavaFX & SWT 2
M JTabbedPane verändern mit Nimbus Look and Feel AWT, Swing, JavaFX & SWT 1
A Swing JProgressbar im Windows Look & Feel Farbanpassung AWT, Swing, JavaFX & SWT 2
G LookAndFeel Tutorial für Erstellung eines eigenen Look And Feel AWT, Swing, JavaFX & SWT 3
javampir Look&Feel von JMenuItem AWT, Swing, JavaFX & SWT 3
V Nimbus Look and Feel register Region problem AWT, Swing, JavaFX & SWT 5
J Eigenes Gui/ Look and Feel AWT, Swing, JavaFX & SWT 14
B Eigenen Look&Feel erstellen?! AWT, Swing, JavaFX & SWT 2
V Nimbus Look And Feel Button textForeground AWT, Swing, JavaFX & SWT 8
T Applet JTattoo Look and Feel AWT, Swing, JavaFX & SWT 5
C Swing JTattoo - Look and Feel für ALLE User AWT, Swing, JavaFX & SWT 5
N Nimbus Look & Feel AWT, Swing, JavaFX & SWT 4
B Windows Look and Feel AWT, Swing, JavaFX & SWT 2
eLogic Look And Feel - Einstellen AWT, Swing, JavaFX & SWT 3
B Look And Feel ändern (Netbeans) AWT, Swing, JavaFX & SWT 18
V Swing Nimbus Look And Feel verschiedene Buttons AWT, Swing, JavaFX & SWT 8
B LookAndFeel Cell Renderer für JTable bei Nimbus Look and Feel AWT, Swing, JavaFX & SWT 2
Dragonfire Swing UTF-8 BOB Probleme mit Windows Look and Feel AWT, Swing, JavaFX & SWT 4
I LookAndFeel Wie kann ich das Look and Feel "Blue Vista" verwenden? AWT, Swing, JavaFX & SWT 4
trash Look and Feel Probleme AWT, Swing, JavaFX & SWT 10
Developer_X LookAndFeel Eigenes Look And Feel erstellen AWT, Swing, JavaFX & SWT 33
J Auf die im Look and Feel eingestellten Farben zugreifen AWT, Swing, JavaFX & SWT 2
T LookAndFeel Look and Feel Frage AWT, Swing, JavaFX & SWT 2
W Look and Feel für einzelnde JFrames AWT, Swing, JavaFX & SWT 4
S Swing: Look and Feel abändern oder für Teilkomponenten anderes LaF setzen AWT, Swing, JavaFX & SWT 2
B Look and Feel Designer für GUI AWT, Swing, JavaFX & SWT 2
aze JXTaskPane Look and Feel ändern AWT, Swing, JavaFX & SWT 2
S LookAndFeel Look and Feel mit Windows funktioniert nicht AWT, Swing, JavaFX & SWT 8
E Look & Feel - Nimbus AWT, Swing, JavaFX & SWT 12
M JProgressBar Look and Feel AWT, Swing, JavaFX & SWT 5
K Look&Feel von JMenuBar und Subkomponenten anpassen AWT, Swing, JavaFX & SWT 6
data89 Nimbus Look and Feel als gepackte JAR-Datei AWT, Swing, JavaFX & SWT 3
G Look And Feel in Eclipse AWT, Swing, JavaFX & SWT 2
J Java Look And Feel- Welche gefallen euch am besten? AWT, Swing, JavaFX & SWT 12
T Look & Feel Skins/Themes AWT, Swing, JavaFX & SWT 9
R JScrollBar mit eigenem look and feel AWT, Swing, JavaFX & SWT 6
M Problem Nimbus Look&Feel AWT, Swing, JavaFX & SWT 2
P JTable: nicht im gewünschten Look&Feel AWT, Swing, JavaFX & SWT 3
C JTextArea und Look&Feel AWT, Swing, JavaFX & SWT 14
G windows look and feel problem AWT, Swing, JavaFX & SWT 7
M JTable Zeilenhöhe Look and Feel AWT, Swing, JavaFX & SWT 2
H Look & Feel und JSplitPane Problem AWT, Swing, JavaFX & SWT 17
A Was ist Look and Feel und wie wirds bearbeitet AWT, Swing, JavaFX & SWT 7
G bestes Look & Feel ? AWT, Swing, JavaFX & SWT 15
G Look&Feel AWT, Swing, JavaFX & SWT 5
V Swing: System-Look&Feel unter KDE AWT, Swing, JavaFX & SWT 3
F Externes Look & Feel für Swing wie importieren/verwenden AWT, Swing, JavaFX & SWT 3
J Lookand Feel JGoodies <-> MetalLookAndFeel AWT, Swing, JavaFX & SWT 2
P Swing mit substance look/feel fenster repaint AWT, Swing, JavaFX & SWT 7
S Unterschiedliche Optik trotz gleicher Look and Feel Code? AWT, Swing, JavaFX & SWT 11
S Oyoaha Look and Feel AWT, Swing, JavaFX & SWT 4
S LOOK and FEEL fü MAC AWT, Swing, JavaFX & SWT 11
X Metal Look and Feel in schwarz AWT, Swing, JavaFX & SWT 3
B Allgemeine Frage zu Look&Feel AWT, Swing, JavaFX & SWT 2
Bernasconi Look and Feel Problem AWT, Swing, JavaFX & SWT 6
M Look&Feel, JButton ,Opaque AWT, Swing, JavaFX & SWT 2
oliver1974 Nimbus Look & Feel und die Ausgaben nach Standardaus. AWT, Swing, JavaFX & SWT 4
A JProgressBar: Farbe im Windows Look&Feel ändern. AWT, Swing, JavaFX & SWT 1
F JInternalFrame Look and Feel AWT, Swing, JavaFX & SWT 3
T Look and Feel ändern geht nicht, obwohl es geht. AWT, Swing, JavaFX & SWT 2
N JFileChooser mit WindowsLook&Feel AWT, Swing, JavaFX & SWT 6
O Look And Feel greift nicht im Hauptfenster (JFrame)! AWT, Swing, JavaFX & SWT 11
padde479 Look And Feel zur Laufzeit ändern AWT, Swing, JavaFX & SWT 2
D Aerith Look & Feel AWT, Swing, JavaFX & SWT 3
G Fonts bei Look And Feel AWT, Swing, JavaFX & SWT 3
G JTable wird im Windows Look&Feel nicht gedruckt AWT, Swing, JavaFX & SWT 5
V System Look and Feel, FileChooser, Optionen einer jar-Datei AWT, Swing, JavaFX & SWT 10
V Lock & Feel für Error-Messages AWT, Swing, JavaFX & SWT 6
W Anderes Look And Feel AWT, Swing, JavaFX & SWT 9
Hotkey Freie Icons für Anwendung mit Java Look&Feel AWT, Swing, JavaFX & SWT 4
L Wie look & feel ändern? AWT, Swing, JavaFX & SWT 2
H Look&Feel - Mnemonics - java5 AWT, Swing, JavaFX & SWT 2
G Java 1.5 Look&Feel zur Laufzeit auf 1.4 umstellen möglic AWT, Swing, JavaFX & SWT 2
M Look&Feel - Layout - GUI - Design - SAP LnF :) AWT, Swing, JavaFX & SWT 12
G Fragen zum Ocean Look and Feel AWT, Swing, JavaFX & SWT 3
F Look and Feel zur Laufzeit ändern macht Probleme AWT, Swing, JavaFX & SWT 3
B Look & Feel AWT, Swing, JavaFX & SWT 5
S Anderes Look'n'Feel = JTextArea doppelt so gross! AWT, Swing, JavaFX & SWT 13
javasdann JTable Kopfzeile in Windows Look&Feel unschön. AWT, Swing, JavaFX & SWT 3
M Look and Feel Standard AWT, Swing, JavaFX & SWT 5
G Look&Feel geht nicht AWT, Swing, JavaFX & SWT 3
U Billiges Look And Feel AWT, Swing, JavaFX & SWT 12
L-ectron-X Kann man dieses Look & Feel einbinden? AWT, Swing, JavaFX & SWT 7
P Eigenes Look&Feel schreiben (Tutorials?) AWT, Swing, JavaFX & SWT 6
G Look&Feel wird nur teilweise angezeigt! AWT, Swing, JavaFX & SWT 9
M Frage zum Look and Feel AWT, Swing, JavaFX & SWT 4
R JScrollpane mit Look'n'Feel AWT, Swing, JavaFX & SWT 6
A Look and Feel einer Anwendung verändern AWT, Swing, JavaFX & SWT 7
M Look And Feel nur für eine Komponente? AWT, Swing, JavaFX & SWT 2
Z Look&Feel-Wechsel bringt mein GUI durcheinander AWT, Swing, JavaFX & SWT 5
Kotelettklopfer Frame ändert Farbe nicht AWT, Swing, JavaFX & SWT 12
K JavaFX Fenstergröße ändert sich (Gluon - SceneBuilder) AWT, Swing, JavaFX & SWT 23
C Swing JFrame ändert Größe AWT, Swing, JavaFX & SWT 0
G Swing JButton ändert (unerwünscht) Größe bei Ausführung AWT, Swing, JavaFX & SWT 4
A Swing Fenster ändert Position bei Mausklick nicht AWT, Swing, JavaFX & SWT 2
2 JLabel - setText ändert den Text nicht AWT, Swing, JavaFX & SWT 4

Ähnliche Java Themen

Neue Themen


Oben