Look & Feel - Nimbus

erxx

Mitglied
Hallo,

Ich verpasse meiner Java App grade ein schöneres ansprechenderes Layout und halte, laut dem was ich gelesen habe, Nimbus für die beste Wahl was das Verhältnis Aufwand/Aussehen angeht.

Ich habe wie folgt versucht das ganze umzusetzen:

Java:
    public static void main(String args[]){
        try {
            UIManager.setLookAndFeel("com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel");
        } catch (ClassNotFoundException ex) {
            Logger.getLogger(Frame.class.getName()).log(Level.SEVERE, null, ex);
        } catch (InstantiationException ex) {
            Logger.getLogger(Frame.class.getName()).log(Level.SEVERE, null, ex);
        } catch (IllegalAccessException ex) {
            Logger.getLogger(Frame.class.getName()).log(Level.SEVERE, null, ex);
        } catch (UnsupportedLookAndFeelException ex) {
            Logger.getLogger(Frame.class.getName()).log(Level.SEVERE, null, ex);
        }
            java.awt.EventQueue.invokeLater(new Runnable() {

                public void run() {
                    new Frame().setVisible(true);
                }
            });
            Frame wnd = new Frame();
    }


Das lässt sich auch ausführen nur bekomm ich da leider etliche Fehlermeldungen, sowie verstellen sich manche Objekte sowie die höhe der editBoxen...

Code:
[COLOR="Red"]Exception in thread "main" java.util.ConcurrentModificationException
        at java.util.Hashtable$Enumerator.next(Hashtable.java:1031)
        at java.util.AbstractCollection.addAll(AbstractCollection.java:305)
        at javax.swing.MultiUIDefaults.entrySet(MultiUIDefaults.java:124)
        at com.sun.java.swing.plaf.nimbus.NimbusStyle.compileDefaults(NimbusStyle.java:378)
        at com.sun.java.swing.plaf.nimbus.NimbusStyle.validate(NimbusStyle.java:293)
        at com.sun.java.swing.plaf.nimbus.NimbusStyle.getValues(NimbusStyle.java:927)
        at com.sun.java.swing.plaf.nimbus.NimbusStyle.getInsets(NimbusStyle.java:605)
        at javax.swing.plaf.synth.SynthStyle.installDefaults(SynthStyle.java:896)
        at javax.swing.plaf.synth.SynthLookAndFeel.updateStyle(SynthLookAndFeel.java:275)
        at javax.swing.plaf.synth.SynthMenuBarUI.updateStyle(SynthMenuBarUI.java:58)
        at javax.swing.plaf.synth.SynthMenuBarUI.installDefaults(SynthMenuBarUI.java:47)
        at javax.swing.plaf.basic.BasicMenuBarUI.installUI(BasicMenuBarUI.java:56)
        at javax.swing.JComponent.setUI(JComponent.java:661)
        at javax.swing.JMenuBar.setUI(JMenuBar.java:118)
        at javax.swing.JMenuBar.updateUI(JMenuBar.java:127)
        at javax.swing.JMenuBar.<init>(JMenuBar.java:95)
        at t3if_prj.Frame.initComponents(Frame.java:160)
        at t3if_prj.Frame.<init>(Frame.java:57)
        at t3if_prj.Frame.main(Frame.java:841)[/COLOR]
 

Marco13

Top Contributor
Ist nur ein schneller Tipp, aber ... das
UIManager.setLookAndFeel("com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel");
AUCH in der run-Methode zu machen, könnte helfen...
 

Manowar

Mitglied
Hoi,

hier mal schnell was zusammengehacktes (läuft aber :-D ). Vielleicht hilfts ja.
Auf der Konsole werden die Layouts angezeigt.

Gruss,

Manowar

Java:
import java.awt.BorderLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.UIManager;
import javax.swing.UnsupportedLookAndFeelException;

public class NimbusTest extends JFrame {

    private boolean nimbus;

    public NimbusTest() throws ClassNotFoundException, InstantiationException, IllegalAccessException, UnsupportedLookAndFeelException {
        super("NimbusTest");

        UIManager.LookAndFeelInfo[] looks = UIManager.getInstalledLookAndFeels();

        for (int i = 0; i < looks.length; i++) {
            if (looks[i].getName().equals("Nimbus")) {
                System.out.println("Nimbus ist vorhanden");
                nimbus = true;
            }
            else {
                System.out.println(looks[i].getName());
            }
        }
        if (nimbus) {
            UIManager.setLookAndFeel("com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel");
        }
        else {
            UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
        }
        //Am Button sieht man normalerweise gleich das typische Nimbus Look and Feel
        JButton button = new JButton("Test");
        setLayout(new BorderLayout());
        add(button, BorderLayout.SOUTH);
        setSize(300,150);
        setVisible(true);
    }

    public static void main(String[] args) throws ClassNotFoundException, InstantiationException, IllegalAccessException, UnsupportedLookAndFeelException {
        NimbusTest nt = new NimbusTest();
    }
}
 

erxx

Mitglied
Dein Test funzt einwandfrei, wenn ich das aber bei mir so umsetze erhalte ich folgendes...:

Exception in thread "main" java.util.ConcurrentModificationException
at java.util.Hashtable$Enumerator.next(Hashtable.java:1031)
at com.sun.java.swing.plaf.nimbus.NimbusStyle.compileDefaults(NimbusStyle.java:378)
at com.sun.java.swing.plaf.nimbus.NimbusStyle.validate(NimbusStyle.java:297)
at com.sun.java.swing.plaf.nimbus.NimbusStyle.getValues(NimbusStyle.java:927)
at com.sun.java.swing.plaf.nimbus.NimbusStyle.getInsets(NimbusStyle.java:605)
at javax.swing.plaf.synth.SynthStyle.installDefaults(SynthStyle.java:896)
at javax.swing.plaf.synth.SynthLookAndFeel.updateStyle(SynthLookAndFeel.java:275)
at javax.swing.plaf.synth.SynthButtonUI.updateStyle(SynthButtonUI.java:53)
at javax.swing.plaf.synth.SynthButtonUI.installDefaults(SynthButtonUI.java:40)
at javax.swing.plaf.basic.BasicButtonUI.installUI(BasicButtonUI.java:71)
at javax.swing.JComponent.setUI(JComponent.java:661)
at javax.swing.AbstractButton.setUI(AbstractButton.java:1782)
at javax.swing.JButton.updateUI(JButton.java:128)
at javax.swing.AbstractButton.init(AbstractButton.java:2149)
at javax.swing.JButton.<init>(JButton.java:118)
at javax.swing.JButton.<init>(JButton.java:73)
at t3if_prj.Frame.initComponents(Frame.java:141)
at t3if_prj.Frame.<init>(Frame.java:77)
at t3if_prj.Frame.main(Frame.java:860)


Mir scheint es als ob die Komponenten nicht in den Nimbus Style gesetzt werden könnten weil es zB Probleme bei den Menüs gibt sowie bei den editBoxen deren höhe sich verringert...
Manchmal wird die Form auch gar nicht erst ausgeführt

Hier beide Resultate die mal entstehen...

 
Zuletzt bearbeitet:

Marco13

Top Contributor
Ähjamoment...
Code:
at t3if_prj.Frame.<init>(Frame.java:77)
at t3if_prj.Frame.main(Frame.java:860)

Das "Frame wnd = new Frame();" darf auch nicht im main-Thread gemacht werden... Das muss auch auf den EDT...
 

Marco13

Top Contributor
Swing-Components sollten nur auf dem EDT verändert werden (und auch nur dort erstellt, auch wenn das nicht immer sooo deutlich gesagt wird). Also: Ja ;)
 

erxx

Mitglied
Ich hab kurzerhand ne beispieldatei erstellt, da funktioniert das auch wunderbar... jedoch funktioniert es nicht wenn ich es in das Projekt einfüge
 

erxx

Mitglied
Ich hab kurzerhand ne beispieldatei erstellt, da funktioniert das auch wunderbar... jedoch funktioniert es nicht wenn ich es in das Projekt einfüge


Fehlermeldung in cmd.exe:

Java:
Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: org/netbe
ans/lib/awtextra/AbsoluteLayout
        at t3if_prj.Frame.initComponents(Frame.java:292)
        at t3if_prj.Frame.<init>(Frame.java:82)
        at t3if_prj.Frame$17.run(Frame.java:957)
        at java.awt.event.InvocationEvent.dispatch(Unknown Source)
        at java.awt.EventQueue.dispatchEvent(Unknown Source)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
        at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
        at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
        at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
        at java.awt.EventDispatchThread.run(Unknown Source)
Caused by: java.lang.ClassNotFoundException: org.netbeans.lib.awtextra.AbsoluteL
ayout
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClassInternal(Unknown Source)
        ... 11 more
 

Marco13

Top Contributor
Aha - da fehlt offenbar die JAR-Datei die das "AbsoluteLayout" enthält im Classpath.

Schau' am besten mal nach, in welcher JAR das drin ist, und gib diese JAR dann beim Start deines Programmes bei
[c]java ... -classpath "...;path/to/theJar.jar;" ....[/c]
mit an.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
M JTabbedPane verändern mit Nimbus Look and Feel AWT, Swing, JavaFX & SWT 1
V Nimbus Look and Feel register Region problem AWT, Swing, JavaFX & SWT 5
V Nimbus Look And Feel Button textForeground AWT, Swing, JavaFX & SWT 8
N Nimbus Look & Feel AWT, Swing, JavaFX & SWT 4
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
data89 Nimbus Look and Feel als gepackte JAR-Datei AWT, Swing, JavaFX & SWT 3
M Problem Nimbus Look&Feel AWT, Swing, JavaFX & SWT 2
oliver1974 Nimbus Look & Feel und die Ausgaben nach Standardaus. 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
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
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
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
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
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
M JProgressBar Look and Feel AWT, Swing, JavaFX & SWT 5
K Look&Feel von JMenuBar und Subkomponenten anpassen AWT, Swing, JavaFX & SWT 6
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
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
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
R LookAndFeel Wie kann man die Textfarbe der Nimbus ProgressBar nach Füllstand ändern? AWT, Swing, JavaFX & SWT 2
V LookAndFeel JSpinner Hintergrund Farbe mit Nimbus LaF AWT, Swing, JavaFX & SWT 0
H Nimbus ProgressBar Colors AWT, Swing, JavaFX & SWT 9
H Nimbus L&F TitledBorder AWT, Swing, JavaFX & SWT 2
M jTabbedPain und Nimbus AWT, Swing, JavaFX & SWT 4
T Nimbus JButton: Zeilenumbruch korrigieren? AWT, Swing, JavaFX & SWT 9

Ähnliche Java Themen

Neue Themen


Oben