# JFileChooser DateiÖffnen



## CR7 (27. Jun 2012)

Hey Leute,

ich habe folgendes Problem, ich habe ein JFileChooser meinem Panel hinzugefügt und es klappt das er mir das Fenster öffnet wo ich eine Datei aussuchen kann, aber wenn ich z.B. eine Textdatei (.odt) gewählt habe, öffnet er es nicht.
Hier ist mein Code, in meiner ActionListener Klasse:


```
public class MActionlistener implements ActionListener {

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;

	private MPanel mp;

	public MActionlistener(MPanel mp) {

		this.mp = mp;
		
	}	
	
	JFileChooser fc = new JFileChooser();
	
	int returnVal = 1;

	@Override
	public void actionPerformed(ActionEvent e) {

		if (e.getSource() == mp.getItemOefnen()) {

			System.out.println("Datei wurde geklickt!");
			int returnVal = fc.showOpenDialog(mp);
			System.out.println(returnVal);
			
			if (returnVal == fc.APPROVE_OPTION) {
				
				File selectedFile = fc.getSelectedFile();
				
	            	
			}
		}
	}
}
```

Ich habe auch google gefragt, aber ich verstehe nicht genau wie man es öffnet, weil in den Beispielen, auf google ein bild geöffnet wird, oder ich habe keins gefunden, kann auch sein.

Ich danke euch schonmal!

Gruß


----------



## ssoul26 (27. Jun 2012)

Weil du ihm nicht sagst, dass er es öffnen soll. Versuch es mal über die Runtime zu öffnen.


----------



## Templarthelast (27. Jun 2012)

Suchst du eine Möglichkeit diese Datei anzuzeigen oder funktioniert schon alleine das Auswählen nicht?


----------



## ssoul26 (27. Jun 2012)

Häng mal dran:


```
if (Desktop.isDesktopSupported()) {
				Desktop.getDesktop().open(selectedFile );
			} else {
				System.out.println("Awt Desktop is not supported!");
			}
```


----------



## jgh (27. Jun 2012)

der JFileChosser ist dafür da, eine Datei auszuwählen, nicht sie zu öffnen. Der Unterschied zwischen 
openDialog(), saveDialog() ist nur für die Anzeige zuständig...ob du speicherst, oder ob du öffnen willst, musst du selbst implementieren...hier mal ein simples Bsp, das dir deine Dateien öffnen sollte...


```
...if (returnVal == fc.APPROVE_OPTION) {

			File selectedFile = fc.getSelectedFile();
			Desktop d = Desktop.getDesktop();
			try {
				d.open(selectedFile);
			} catch (IOException e1) {
				// TODO Auto-generated catch block
				e1.printStackTrace();
			}...
```

[edit]nimm lieber den Code von ssoul26[/edit]


----------



## CR7 (27. Jun 2012)

> Suchst du eine Möglichkeit diese Datei anzuzeigen oder funktioniert schon alleine das Auswählen nicht?



Das auswählen funktioniert schon. Ich wollte nur wissen, wie ich Dateien öffnen kann, durch den JFileChooser.

Der Code von ssoul26 und jgh funktionieren beide, wenn ich es an meinem Code anhänge!

Danke euch beiden erstmal!

Ich habe noch eine Frage, ich habe ein Jframe und kann die Datei die ich auswähle eventuell auch in meinem Frame öffnen? (Ich habe eine JFrame Klasse und in einer extra Klasse ein JPanel das ich an meinem Frame angehängt habe + ich habe noch eine Actionelistener Klasse wie ihr schon oben sehen könnt). In meinem Panel möchte ich also die von FileChooser ausgewählte Datei in meinem Panel ausgeben lassen, geht das?


----------



## jgh (27. Jun 2012)

für simple Textdateien (txt) lässt sich sowas relativ einfach realisieren...aber für alle möglichen Dateien ist es imho unmöglich.


----------



## CR7 (27. Jun 2012)

Ja das habe ich mir auch gedacht, mit Textdateien ist es simple.

Aber trotzdem Danke!


----------

