Look&Feel wird nur teilweise angezeigt!

Status
Nicht offen für weitere Antworten.

Gayson

Bekanntes Mitglied
Hallo!

Ich habe das Problem, dass ich ein Look&Feel integriert habe (direkt von der Homepage Code übernommen), welches jedoch z.B. bei Buttons und TextFields falsch angezeigt wird. In einer anderen Anwendung bverwende ich das gleiche Look&Feel, da sieht es anders aus....

gui.jpg


Habt ihr eine Idee, wo da normalerweise der Fehler liegt? Oder ist das zu speziell, und ihr braucht Code?
 

Gayson

Bekanntes Mitglied
Mh, wenn ich das laf verschiebe hilft das auch nicht.

Habe jetzt mal mein Prog ein bissl verkürzt, hab einfach mehrere Methoden rausgenommen, hier der Code, der sich kompilieren lässt, aber den gleichen Fehler anzeigt:

Code:
import javax.swing.*;
import java.awt.*;
import java.net.*;
import java.io.*;
import java.util.*;

public class SVCD2VCD extends JFrame{
	JLabel quellverzeichnis_label = new JLabel("Quellverzeichnis");
	JTextField quellverzeichnis_textfeld = new JTextField(20);
	JLabel zielverzeichnis_label = new JLabel("Zielverzeichnis");
	JTextField zielverzeichnis_textfeld = new JTextField(20);
	JLabel tmpgverzeichnis_label = new JLabel("TMPGEncverzeichnis");
	JTextField tmpgverzeichnis_textfeld = new JTextField(20);
	JLabel projectverzeichnis_label = new JLabel("Projectverzeichnis");
	JTextField projectverzeichnis_textfeld = new JTextField(20);
	JLabel suchenach_label = new JLabel("Suche nach:");
	JTextField suchenach_textfeld = new JTextField(20);
	JButton quellfilechooser_button = new JButton("Öffnen");
	JButton zielfilechooser_button = new JButton("Öffnen");
	JButton tmpgfilechooser_button = new JButton("Öffnen");
	JButton projectfilechooser_button = new JButton("Öffnen");
	JTextArea statusTextfield = new JTextArea(5,30);
	JButton go = new JButton ("Go");
	JButton cancel = new JButton ("Abbrechen");
	JButton speichern = new JButton ("Speichern");
	JButton exit = new JButton ("Exit");

	public SVCD2VCD(){
		super("SVCD2VCD");
        setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
		setLocation(
		        (Toolkit.getDefaultToolkit().getScreenSize().width-this.getSize().width) / 2,
		        (Toolkit.getDefaultToolkit().getScreenSize().height-this.getSize().height) / 2
		);

        try{
            UIManager.setLookAndFeel("com.shfarr.ui.plaf.fh.FhLookAndFeel");
        }
        catch (Exception e) {
            e.printStackTrace();
        }

		/*pane --> eingabepane + buttonspane + statusTextfield
		eingabepane --> quellpane + quellverzeichnis_textfeld + zielpane + zielverzeichnis_textfeld	+ tmpgpane + tmpgverzeichnis_textfeld + projectpane + projectverzeichnis_textfeld + suchenach_label + suchenach_textfeld
		quellpane --> quellverzeichnis_label + quellfilechooser_button
		zielpane --> zielverzeichnis_label + zielfilechooser_button
		*/

		JPanel pane= new JPanel();
		pane.setLayout(new GridLayout(3,1));

			//eingabepane
			JPanel eingabepane = new JPanel();
			eingabepane.setLayout(new GridLayout(5,2));
				JPanel quellpane = new JPanel();
				quellpane.setLayout(new GridLayout(1,2));
				quellpane.add(quellverzeichnis_label);
				quellpane.add(quellfilechooser_button);
			eingabepane.add(quellpane);
			eingabepane.add(quellverzeichnis_textfeld);

				JPanel zielpane = new JPanel();
				zielpane.setLayout(new GridLayout(1,2));
				zielpane.add(zielverzeichnis_label);
				zielpane.add(zielfilechooser_button);
			eingabepane.add(zielpane);
			eingabepane.add(zielverzeichnis_textfeld);

				JPanel tmpgpane = new JPanel();
				tmpgpane.setLayout(new GridLayout(1,2));
				tmpgpane.add(tmpgverzeichnis_label);
				tmpgpane.add(tmpgfilechooser_button);
			eingabepane.add(tmpgpane);
			eingabepane.add(tmpgverzeichnis_textfeld);

				JPanel projectpane = new JPanel();
				projectpane.setLayout(new GridLayout(1,2));
				projectpane.add(projectverzeichnis_label);
				projectpane.add(projectfilechooser_button);
			eingabepane.add(projectpane);
			eingabepane.add(projectverzeichnis_textfeld);

			eingabepane.add(suchenach_label);
			eingabepane.add(suchenach_textfeld);

			//buttonspane
			JPanel buttonspane = new JPanel();
			buttonspane.setLayout(new GridLayout(2,2));
				buttonspane.add(go);
				buttonspane.add(cancel);
				buttonspane.add(speichern);
				buttonspane.add(exit);

			//statusTextfield in Scrollpane
			JScrollPane scrollpane = new JScrollPane(statusTextfield, ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS, ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
			statusTextfield.setEditable(false);
			statusTextfield.setLineWrap(true);

		pane.add(eingabepane);
		pane.add(buttonspane);
		pane.add(scrollpane);

		setContentPane(pane);
		setVisible(true);
		pack();
	}

	// main-Methode
	public static void main(String[] arguments) {
		SVCD2VCD panel = new SVCD2VCD();
	}
}

Könnte es sein, dass diese ganze verschachtelten Layoutmanager das Problem verursachen? Habe bei dem Programm einfach drauflosprogrammiert, und immer das, was ich brauchte, dazugenommen. Sollte ich erstmal versuchen, das ganze in einen Layoutmanager zu packen?
 
R

Roar

Gast
mach mal nach dem setzen des LnFs das:
SwingUtilities.updateComponentTreeUI(this);
 

DesertFox

Bekanntes Mitglied
Füg mal noch die Zeile in den try/catch Block, bei mir geht das Laf wechsel ohne des nicht (aber während der Laufzeit, habs nicht probiert, wies is, wennd anach noch nen repaint() is
Code:
SwingUtilities.updateComponentTreeUI(this);
//Edit: Och noe, zu spät, nur weil ichs ausprobiert hab in einem meiner Progs, ob bei mir es während der Laufzeit ohne die Zeile geht :(
 

Gayson

Bekanntes Mitglied
Das mit dem SwingUtilities.updateComponentTreeUI(this); nach setContentPane(pane); hat geholfen, das Hauptfenster wird jetzt richtig dargestellt.

Nun ruf ich im Verlauf des Programms JFileChooser auf, und da treten ähnliche "Darstellungsfehler" auf.

Siehe z.B. folgenden Auszug aus einer actionPerformed:

Code:
			if (evt.getSource()==tmpgfilechooser_button) {
				filechooser_tmpg.setFileFilter( new FileFilter() {
					public boolean accept( File f ) {
						return f.isDirectory() ||
						f.getName().toLowerCase().equals("tmpgenc.exe");
					}
					public String getDescription() {
						return "TMPGEnc.exe";
					}
				} );
				filechooser_tmpg.showOpenDialog(null);
				tmpgverzeichnis_textfeld.setText(filechooser_tmpg.getSelectedFile().toString());
			}
 
B

Beni

Gast
Dann ruf noch "SwingUtilities.updateComponentTreeUI( fileChooser_tmpg);" auf. Das sollte bei allen Components des FileChooser das UI neu setzen.
 

Gayson

Bekanntes Mitglied
Das war des Rätsels Lösung.

Ich hab nochmal kurz 2 allgemeine Fragen an euch, ich glaub nicht, dass sich dafür ein eigener Thread lohnt:

1. Wie geht ihr allgemein an kleinere Projekte ran? Z.B. ist das hier besprochene Tool ist 400 Zeilen groß, dient zur Vebresserung (Automatiesierung) des Batch-Modus eines Videoschnittprogramms. Würdet ihr davor irgendwas schriftlich machen? Oder einfach drauf loshacken? (ich befinde mich grad im 1. Sem. eines "Softwareingenieursstudiums", d.h. früher oder später werde ich es sowieso lernen, würd mich nur halt mal gern interessieren)

2. Bei manchen java-Dateien übernehme ich einfach am Anfang die ganzen import-Dateien einer anderen java-Datei, damit ich nicht immer von vorn anfangen muss. Gibt es ein Tool, was mir die ganzen überflüssigen/ unbenutzten import-Befehle raussucht? (ich hatte mal Eclipse ausprobiert, da wird dies unterstützt, aber ich kann mich noch nicht an solche IDEs gewöhnen...)
 
R

Roar

Gast
zu 1: bei sonem kleinen ding einfach drauf loshacken ;)
zu 2: keine ahnung, eclipse is mir auch zu groß...
 
Was noch besser ist: Setze das LookAndFeel in der main-Methode noch bevor du das Frame (oder irgendeine andere Swing-Komponente) erzeugst.
Dann kannst du dir das ständige updateComponentTreeUI sparen.

1. Kommt darauf an, ob ich teile des Programmes in anderen Programmen wiederverwenden kann - soll ja bekanntlich vorkommen.
Meist reicht mir aber die ausführliche Skizze und das UML-Diagramm in meinem Kopf schon aus - soll heißen: Ich überlegs mir und schreib los. ;)

2. Eclipse. Für JEdit müsste es aber auch so ein Plugin geben. Obwohl ich nicht weiß, ob das tatsächlich auch unnütze Sachen entfernt.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
G JTable wird im Windows Look&Feel nicht gedruckt AWT, Swing, JavaFX & SWT 5
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
S Look und Feel ändert sich nicht AWT, Swing, JavaFX & SWT 4
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
K LookAndFeel Look And Feel ändert sich nicht AWT, Swing, JavaFX & SWT 8
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
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
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
P Methode wird nicht überprüft AWT, Swing, JavaFX & SWT 4
P paintComponent-Methode wird dauernd neu aufgerufen AWT, Swing, JavaFX & SWT 2
G JavaFX LineChart Datenpunkte Markierung wird abgeschnitten AWT, Swing, JavaFX & SWT 1
P JTextField wird nur sehr klein angezeigt und verändert die Größe nicht AWT, Swing, JavaFX & SWT 3
Telisti Javafx Image wird nicht richtig integiert AWT, Swing, JavaFX & SWT 8
J Netbeans die JavaFX-Anwendung wird nicht ausgeführt AWT, Swing, JavaFX & SWT 16

Ähnliche Java Themen

Neue Themen


Oben