# Look And Feel ändern (Netbeans)



## b1zarRe (7. Okt 2011)

Hallo,

ich würde gerne ein L&F mithilfe von Netbeans ändern. Und ja, ich habe vorher gegoogled, aber dennoch bin ich auf Fragen gestoßen... Ich schildere mal mein Vorgehen:

Ich habe mir von Jyloo Software unter anderem das Look&Feel "syntheticaBlackEye" heruntergeladen. Als Beschreibung steht dort, dass man die syntheticaBlackEye.jar einfach nur in das java/jre/ext packen soll. Als nächtes soll man einfach nur folgendes coden:


```
try {
            UIManager.setLookAndFeel("de.javasoft.plaf.synthetica.SyntheticaBlackEyeLookAndFeel");
        } catch (Exception e) {
            e.printStackTrace();
//        }
```

Dies hat mir schonmal nicht weitergeholfen. Ich habe dann zusätzlich noch bei Libs das Jar manuell hinzugefügt... Leider auch ohne Erfolg... Weiter habe ich dies hier versucht, um zu schauen, ob das L&F gefunden wird... auch ohne Erfolg:


```
try {
            for (javax.swing.UIManager.LookAndFeelInfo info :           
                javax.swing.UIManager.getInstalledLookAndFeels()) {
                System.out.println(info.getName());
            }
        } catch (Exception e) {
        }
```

Was mache ich falsch?! :/


----------



## c_sidi90 (7. Okt 2011)

Fliegt denn eine Exception? Der Code sieht ansich richtig aus.


----------



## Gast2 (7. Okt 2011)

Die jar muss auch ins jre welches im JDK drinne liegt! 

Dieses JRE wird verwendet wenn du z.B. mit Eclipse un ddem JDK arbeitest. Der Ordner ist analog .../JDK/jre/ext


----------



## c_sidi90 (7. Okt 2011)

aus der FAQ ergibt sich das : de.javasoft.plaf.synthetica.SyntheticaStandardLookAndFeel das standart L&F ist. Sollen andere, wie in deinem Fall "Black" benutzt werden, muss auch das Theme lib im Classpath liegen. Eventuell liegts daran.


----------



## L-ectron-X (7. Okt 2011)

b1zarRe hat gesagt.:


> einfach nur in das java/jre/ext packen soll.


Also das stößt mir ziemlich sauer auf. Die externe Jar-Datei sollte überhaupt nicht ins JRE importiert werden.
Vielmehr sollte sie bei der Ausgabe (Build) deines Projektes neben deiner Anwendung ausgeben werden.
Nur so ist garantiert, dass das JRE nicht zugemüllt wird und die Anwendung auf jedem Rechner gleich aussieht.

Du solltest also die LAF-Jar in Netbeans bekannt machen und in den Classpath bringen, dann wird sie auch von Netbeans benutzt und exportiert.

Eine Anleitung zum Einbinden von externen Jar-Dateien in Netbeans findest du hier: NetBeans externe Bibliotheken bekannt machen ? Byte-Welt Wiki


----------



## b1zarRe (7. Okt 2011)

Exception:

java.lang.ClassNotFoundException: de.javasoft.plaf.synthetica.SyntheticaStandardLookAndFeel
	at java.net.URLClassLoader$1.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)

@kappesf
Genau da habe ich sie auch liegen: JDK\jre\lib\ext


----------



## Gast2 (7. Okt 2011)

Lectron-X hat aber natürlich Recht. 

Importier die jars direkt in der IDE ins Projekt. 

Alles andere ist eigentlich schlecht. Dann löst sich das Problem vielleicht auch schon von selber in Luft auf. 

Falls die jar noch libs benötigt kannst du diese in Eclipse z.B. auch direkt mit angeben!


----------



## b1zarRe (7. Okt 2011)

@L-ectron-X
Ich habe die Anleitung exakt befolgt und habe (in kurz) eine neue Library erstellt mit dem Namen "syntheticaBlackEye"
und dort die jar "syntheticaBlackEye.jar" hinzugefügt. Im Ordner "Prozentrechner" bei Properties genau diese hinzugefügt und leider hat sich dennoch nichts am Aussehen getan :/

Klappt die jar denn bei euch???


----------



## L-ectron-X (7. Okt 2011)

Schreibe mal den Code zum Einbinden des LAFs als erste Anweisung in die main()-Methode.
Geht's dann?


----------



## b1zarRe (7. Okt 2011)

Hier so siehts aus: (Anhang)

Zwar kein Fehler so, aber auch kein neues L&F


----------



## Tomate_Salat (7. Okt 2011)

Setzt die Änderung als erste Anweisung in der main (so wie es L-ectron-X beschrieben hat). Ansonsten solltest du
[c]SwingUtilities.updateComponentTreeUI(deinJframe);[/c]
aufrufen.



b1zarRe hat gesagt.:


> Klappt die jar denn bei euch???


habe(n) die jar nicht. Und ich möchte mich dort nicht registrieren.


----------



## b1zarRe (7. Okt 2011)

Juhu, es hat geklappt!!! 

Dicken Dank!!  Leider steht da jetzt noch das dumme Register Evaluation. Wisst ihr wo ich kostenlose L&F herbekomme??


----------



## hdi (7. Okt 2011)

Also das bereits integrierte* Nimbus ist gar nicht mal so hässlich. Ansonsten find ich die L&Fs von Substance ganz schick - aber die sind z.T. leider ein bisschen verbuggt imho. Vllt findest du hier noch was.

*ab JDK6


----------



## Tomate_Salat (7. Okt 2011)

JGoodies
Wobei ich in der Regel das System-laf verwende:

```
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
```


----------



## L-ectron-X (7. Okt 2011)

Tomate_Salat hat gesagt.:


> Wobei ich in der Regel das System-laf verwende...


Dito!

Ansonsten: Home - javootoo.com


----------



## b1zarRe (7. Okt 2011)

Irgendwie komisch das es nur sowenig freie L&F gibt oO


----------



## hdi (7. Okt 2011)

Naja was willst du da groß machen? Soviele unterschiedliche (nicht Augenkrebs auslösende) Farbkombinationen gibt es nun mal nicht. Und am Ende zählt eh die Funktionalität des Programms. Klar, das User Interface ist wichtig, aber das eher im Bezug auf des Design, d.h. die Anordnung einzelner Komponenten und wie sie interagieren. Das Farbschmema eines Programms, oder ob ein Button nun eckig oder rund ist usw darauf achtet ein User nicht bewusst, und es ist ihm auch egal, er akzeptiert es ohne darüber nachzudenken.


----------



## GUI-Programmer (8. Okt 2011)

b1zarRe hat gesagt.:


> Irgendwie komisch das es nur sowenig freie L&F gibt oO


Also ich finde das es genug gibt, siehe Link von L-ectron-X:
Home - javootoo.com


----------



## b1zarRe (14. Okt 2011)

Kennt ihr denn vielleicht einen L&F der so aussieht wie Synthetica und freeware ist??


----------

