# Cancelbutton im JFileChooser disablen?



## Math55 (28. Apr 2005)

hi, jemand ne idee, wie das geht?

so hab ichs:


```
JFileChooser fc = new JFileChooser();
fc.setDialogTitle("testdialog");
            
((JButton) ((JPanel) fc.getComponent(5)).getAccessibleContext()
                    .getAccessibleChild(5).getAccessibleContext()
                    .getAccessibleChild(2)).setVisible(false);
            
fc.showDialog(new JFrame(), "Ok");
```

allerdings bringt das immer diese exception: 

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: No such child: 5
	at java.awt.Container.getComponent(Unknown Source)
	at JFsl.main(JFsl.java:1264)

hab die zahlen schon verändert, bringt aber nix. gibts da in java5 schon was wie disableCancelButton(boolean)?

danke


----------



## thE_29 (28. Apr 2005)

```
((JComponent)((JComponent)(JComponent)((JComponent)fc.getComponents()[2]).getComponents()[3]).getComponents()[1]).setEnabled(false);
```



Du greifst schon irgendwie falsch zu, richtige Reihenfolge 2 -> 3 -> 1

2 -> 3 -> 0 = Öffnen Button


----------



## Math55 (28. Apr 2005)

cool, das geht. sehr schön. und wie kann ich das kreuzchen zum fenster schliessen auch noch disablen?

danke


----------



## thE_29 (28. Apr 2005)

Tjo, das geht net so leicht, außer mir erklärt jemand wie man via Rflection Methoden ersetzt ;>

Jedenfalls, mach ne Schleife


while ( fc.showDialog(null,"Text") == JFileChooser.CANCEL_OPTION );

So sollte er den Dialog immer wieder anzeigen wenn man oben hinklickt!

Das blöde ist nämlich, dass der Dialog auf dem alles gezeichnet wird, erste beim showDialog Aufruf erstellt wird und ich ihn so nicht manipulieren kann!


----------



## Beni (28. Apr 2005)

Hm, aber du kannst den FileChooser doch auf einen eigenen Dialog setzen, und diesen Dialog sichtbar machen  ???:L


----------



## Sky (28. Apr 2005)

Beni hat gesagt.:
			
		

> Hm, aber du kannst den FileChooser doch auf einen eigenen Dialog setzen, und diesen Dialog sichtbar machen  ???:L


... und Du mußt die DefaultCloseOperation auf DO_NOTHING_ON_CLOSE setzen.


----------



## Math55 (28. Apr 2005)

hi, also wie geht das jetzt?

gruß


----------



## Math55 (28. Apr 2005)

nabend, mit der whileschleife gehts  vielen dank


----------



## thE_29 (29. Apr 2005)

Ich hatte auch ne Reflection Methode in der ich in der Klasse JFileChooser den Dialog manipuliere, aber irgendwie hat dann der Öffnen Button nima reagiert ^^


----------

