# JFileChooser mit WindowsLook&Feel



## Ninca (17. Mrz 2007)

Hi, 

weiß jemand wie ich mit Java 1.6 ein schöneres WindowsLook&Feel beim JFileChooser hinbekomme, als folgendes:







  ?


Das Problem sind z.B. die abgeschnittenen "Zuletzt verwendeten Dokumente" und die angezeigten Icons.

Mit JGoodies WindowsLookandFeel sieht es übrigens genauso aus!  


```
JFileChooser jf = new JFileChooser();
UIManager.setLookAndFeel( new WindowsLookAndFeel() );
SwingUtilities.updateComponentTreeUI( jf );
jf.showOpenDialog( jf );
```
Kennt zufällig jemand eine geniale Lösung ? 

Ninca


----------



## L-ectron-X (17. Mrz 2007)

Wie siehts denn unter Windows mit

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


----------



## Ninca (17. Mrz 2007)

Genauso.


----------



## Marco13 (17. Mrz 2007)

Hm. Irgendwie glaube ich, dass der FileChooser tatsächlich ein FileChooser des Fenstermanagers ist, d.h. bei jedem File-Dialog (auch wenn du z.B. in einem anderen Programm eine Datei öffnen oder speichern willst) sieht das so aus, und in einem anderen Look&Feel wären diese Einträge (Desktop etc.) vermutlich nicht da. (Kurz gesagt: Daran ist glaubich Windows schuld!). Da die Antwort "Um das weg zu kriegen, mußt du etwas anderes als Windows verwenden" nicht zufiredenstellend ist, hab ich aber leider keinen wirklich hilfreichen Tipp


----------



## Wildcard (17. Mrz 2007)

Marco13 hat gesagt.:
			
		

> Hm. Irgendwie glaube ich, dass der FileChooser tatsächlich ein FileChooser des Fenstermanagers ist, d.h.


Nö. Swing imitiert den Dialog nur.


----------



## Marco13 (17. Mrz 2007)

Eigentlich ist das bei Swing ja so - alles Lightweight, alles selbstgemalt - aber zumindest würde mich dann schon mal interessieren, wie man NUR durch Änderung des Look&Feels zusätzliche Buttons ("Desktop" etc.) in eine Komponente reinbekommt - unter Linux gibt's das ja z.B. alles nicht, und bei einem nicht-Windows-L&F erscheinen die AFAIK auch nicht....  ???:L


----------



## Wildcard (18. Mrz 2007)

Swing verwendet Factories, daher wird je nach L'n'F eine andere Komponente instanziert.


----------

