# Java und ansprechende Benutzeroberflächen - geht das?



## Backflip0838 (11. Jun 2012)

Hallo Java-Forum, ich gerade dabei, mich mit GUIs zu beschäftigen und mir stellt sich die Frage, wie man es hinbekommt, dass die GUIs so aussehen wie die Windows-eigenen Fenster, oder zumindest etwas ansprechender als das, was man mit Swing so hinbekommt.

MfG


----------



## Marco13 (11. Jun 2012)

Geht's nur um das Look and Feel How to Set the Look and Feel (The Java™ Tutorials > Creating a GUI With JFC/Swing > Modifying the Look and Feel) oder um irgendwelche Fancy effekte?


----------



## Backflip0838 (11. Jun 2012)

Mir geht's weniger um sowas wie Mouse-over Effekte oder so sondern eher darum dass  zum Beispiel die Checkboxen so aussehen als hätte sie ein Kindergartenkind gemalt. Bekommt man das auch in die Richtung Original Windows hin oder ist das nur c++ vorbehalten?


----------



## darekkay (11. Jun 2012)

Was du suchst ist der Windows Look And Feel:


```
try {
      UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
    } catch(Exception e) {
      System.out.println("Error setting native LAF: " + e);
    }
```
(dadurch wird für andere Betriebssysteme der entsprechende native Look And Feel geladen)


----------



## schmidi000 (11. Jun 2012)

Ja, das geht du musst dir das dementsprechende LookAnFeel suchen und in den Java Quellcode einbinden zb. 

```
UIManager.setLookAndFeel(System.getLookAndFeel())
```


Ich glaub so ist der Code. Wenn nicht google einfach nach Java LookAndFeels


----------



## schmidi000 (11. Jun 2012)

Oh war zu spät ^^


----------



## Backflip0838 (11. Jun 2012)

Danke für die Beiden Beiträge, der Quellcode von Marcos Link hat mich erstmal geplättet


----------



## lumo (12. Jun 2012)

oder einfach SWT/JFace verwenden...


----------



## Guybrush Threepwood (12. Jun 2012)

Wenn Du ohnehin neu in die Thematik einsteigst, dann lerne doch am besten gleich JavaFX. Das wird langfristig Swing ablösen und ermöglich wunderschöne Oberflächen, dynamische Effekte etc.Schau Dir mal die Beispiele unter JavaFX Documentation Home | JavaFX 2 Tutorials and Documentation an.


----------



## Landei (12. Jun 2012)

Swing kann ziemlich cool sein: Filthy Rich Clients


----------



## L-ectron-X (12. Jun 2012)

Backflip0838 hat gesagt.:


> Mir geht's weniger um sowas wie Mouse-over Effekte oder so sondern eher darum dass  zum Beispiel die Checkboxen so aussehen als hätte sie ein Kindergartenkind gemalt.


Wenn du möchtest, dass Checkboxen aussehen, als hätte sie ein Kindergartenkind gemalt, solltest du dich zu allererst mal bei Home - javootoo.com umsehen. Dort bekommst du jede Menge vorgefertigter LAFs.
Ansonsten bleibt dir nichts anderes übrig, als ein eigenes LAF zu entwickeln. Und das ist alles andere als trivial.


----------



## darekkay (12. Jun 2012)

L-ectron-X hat gesagt.:


> Wenn du möchtest, dass Checkboxen aussehen, als hätte sie ein Kindergartenkind gemalt



Der TO möchte das "Standard"-Aussehen eines Windowsprogrammes erreichen. Das mit dem Kindergarten war eher auf den default Look and Feel von Java bezogen


----------



## L-ectron-X (12. Jun 2012)

Dann war das wohl ein klassisches Missverständnis.:autsch:


----------



## mla.rue (12. Jun 2012)

hm was ist das default LAF unter Windows? Meine Anwendungen, wenn sie nicht mit einem speziellen LAF gestartet werden, haben unter Windows halt Windows und unter Linux Metal als LAF.

@ TO: kann ich mal fragen was du genau unter "Kindergartenzeichnung" verstehst? eine Checkbox ist nunmal ein Kästchen in das ein Hacken reinkommt, allzu "fancy" kann das ja nicht sein.


----------



## theuserbl (12. Jun 2012)

Guybrush Threepwood hat gesagt.:


> Wenn Du ohnehin neu in die Thematik einsteigst, dann lerne doch am besten gleich JavaFX. Das wird langfristig Swing ablösen und ermöglich wunderschöne Oberflächen, dynamische Effekte etc.



Seit 2007 wird gesagt, dass JavaFX letztendlich Swing ablösen wird.

- Inzwischen haben sich zig mal die Bibliotheken _grundlegend_ verändert 
- Inzwischen wurde aus dem JavaFXScript-Interpreter, ein JavaFXScript-Compiler, der letztendlich komplett rausflog.
- Mal wird MacOSX und Linux unterstützt und mal wieder nicht. 
Derzeit gibt es unter
JavaFX GA downloads
die JavaFX-Runtime und das JavaFX-SDK nur für Windows.
Die darauf aufbauenden Samples gibt es jedoch auch für MacOSX (Mac-User werden aber ohne die nötige Runtime und SDK wenig Freude damit haben).

Und Linux User gucken schon eine ganze Weile bzgl. JavaFX in die Röhre.

_Geplant_ ist, dass es Teil von OpenJDK wird. _Bisher_ ist es nur Teil des Windows-JDKs.
Zumindest gibt es unter
OpenJDK: OpenJFX Project
schon mal eine OpenJFX-Seite.
Soetwas gab es damals schon mal. 2007 gab es die Seite OpenJFX.org. Dann kam JavaFX.com hinzu. Und später verschwand OpenJFX.org. Nun gibt es halt auf OpenJDK.org eine OpenJFX-Seite. Mal sehen, was daraus wird.
Es aber direkt als "Swing-Ablöser" zu sehen, wo es sich schon heute lohnen soll, JavaFX zu lernen, halte ich doch für übertrieben.
Da hättest Du auch schon zwei verschiedene JavaFXScript-Dialekte lernen müssen, mit denen Du heute rein gar nichts mehr mit anfangen kannst.

Grüße
theuserbl


----------



## Backflip0838 (12. Jun 2012)

darekkay hat gesagt.:


> Der TO möchte das "Standard"-Aussehen eines Windowsprogrammes erreichen. Das mit dem Kindergarten war eher auf den default Look and Feel von Java bezogen



Danke dafür 

und natürlich auch für die anderen Beiträge

MfG


----------



## OSBI_Fan (12. Jun 2012)

Hallo Backflip0838,

schau Dir mal das Konzept von XDEV3 an. Link:

XDEV Software Corp. - Startseite

GUI-Builder: Mit dem XDEV 3 GUI-Builder können Java Swing Oberflächen genauso schnell und einfach entwickelt werden wie mit einem Grafikprogramm. Alle GUI-Komponenten lassen sich per Drag&Drop auf die Arbeitsfläche einfügen und dort pixelgenau positionieren. Formulare lassen sich blitzschnell designen und sogar aus Tabellen heraus automatisch generieren. Auch aufwändige Master-Detail Ansichten lassen sich verblüffend einfach generieren.

Post: http://www.java-forum.org/datenbankprogrammierung/129737-interaktion-java-programm-datenbank.html#post869364

Grüße
OSBI_Fan

OSBI = Open Source Business Intelligence


----------

