Datei öffnen Dialog

BlubBlub

Bekanntes Mitglied
Hi,

ich wollte in meinem selbst geschriebenen Editor mit "Datei öffnen..." eine beliebige Datei
laden wollen, sei es .txt oder .png oder .gif oder .pdf.

Kann mir da jemand helfen oder eine gute Seite bzw. Tutorial nennen.

Hab es bisher geschaft den Datei öffnen Dialog mit JFileChooser zu erstellen nun fehlt noch das laden
beliebiger Datei in das Editorfenster.
 

XHelp

Top Contributor
Öhm. wo genau ist dein Problem? "laden in das Editorfenster" ist keine Beschreibung.

P.S. Warum soll es egal sein, ob txt oder png? Txt ist ja noch ok, da sollte Text stehen. Aber nicht jedes Zeichen bei anderen Formaten lässt sich darstellen.
 

TiZi37

Mitglied
Also wenn du mit dem JFileChooser eine Datei auswählst und mit OK bestätigst musst du herausfinden, um welchen Typ von Datei es sich handelt(.txt, .jpg) und verschieden reagieren. Wenn es zum Beispiel ein Bild ist könntes du es in etwa so machen:
img ist in diesem Fall ein ImageIcon
Java:
	dialog.showOpenDialog(null);
					File file = dialog.getSelectedFile();
					Image image;
					
						image = ImageIO.read(file);
						img.setImage(image);
						picBox.setIcon(img);
						panel.add(picBox);
						frame.add(panel);

Bin aber selber noch ein Anfänger in Java aber ich denke so sollte es funktionieren.
 

BlubBlub

Bekanntes Mitglied
achso, ich muss also für alle dateien die ich in mein editorfenster laden will, fallunterscheidungen machen
und jeden fall dann individuell behandeln.
also gut ich möchte mir dann vornehmen .txt, .gif , .jpg und .pdf Dateien laden zu können.
die entsprechende Datei soll in meinem editorfenster angezeigt werden.
da ich ja ja nicht nur .txt dateien laden will möchte ich auf eine JTextArea verzichten die beim
starten des editors initialisiert wird.

vielleicht kann mir ja jemand erstmal sagen wie ich also eine test.txt die auf meinem desktop gespeicher ist in das editorfenster laden kann in eben beschriebener art und weise.
also damit ich das schritt für schritt machen kann. danach kümmer ich mich um meine weiteren gesetzten ziele.
 

BlubBlub

Bekanntes Mitglied
haha, der link ist ja geil xD

also dieses editorfenster ist einfach nur ein fenster mit einer leiste oben in der ich durch
ein klick auf "Datei öffnen..." die möglichkeit haben möchte die vier verschienden dateien laden zu können.
also so ne art import anweisung, vielleicht ist das ja eine treffendere bezeichnung.
wollte einfach nur das in diesem editorfenster entweder der inhalt einer textdatei angezeigt wird oder
ein bild angezeigt wird oder halt eine pdf datei.

aaaalsooo wenn du jetzt sagst das mit der textdatei funtkioniert nicht ohne JTextArea dann werde ich wenn ich einen text laden will ein JTextArea erstellen und den inhalt da rein laden.
wenn ich ein bild reinladen will dann werd ich keine JTextArea erstellen sondern so vorgehen wie esTiZi37 vorgeschlagen hat.

anscheinend ist das so der weg den man hier einschlagen muss.


zum besseren verständngnis mein code sieht bisher so aus:

Java:
import java.awt.event.ActionEvent;
import java.awt.event.KeyEvent;
import java.io.FileReader;
import java.io.IOException;

import javax.swing.AbstractAction;
import javax.swing.Action;
import javax.swing.ImageIcon;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.KeyStroke;
import javax.swing.filechooser.FileNameExtensionFilter;


public class MyEditor extends JFrame
{
	public MyEditor()
	{
		   super("Editor");
	       setLocation(300, 300);
	       setSize(500, 500);
	       
	       addWindowListener( new MyWindowAdapter() ); 
	       setLocationRelativeTo(null);
	       
	       JPanel panel = new JPanel();
	       JMenuBar menuBar = new JMenuBar();
	       JMenu fileMenu = new JMenu("Datei");
	       JMenu helpMenu = new JMenu("Hilfe");
	       
	       getContentPane().add(panel);
	       menuBar.add(fileMenu);
	       menuBar.add(helpMenu);
	       setJMenuBar(menuBar);
	       
	       fileMenu.setMnemonic(KeyEvent.VK_D);								// Mnemonic ALT + Taste
	       helpMenu.setMnemonic(KeyEvent.VK_H);
	       
	       final JFileChooser fc = new JFileChooser(); 
	       
	       final JTextArea textArea = new JTextArea(); 
	       add( new JScrollPane(textArea) );
	       
	       //################# Filemenu => Untermenus ###############################################################################################
	       fileMenu.add(new AbstractAction()
	       { 
	    	   { 
	    		   putValue( Action.NAME, "Datei öffnen..." ); 
	    		   putValue( Action.ACCELERATOR_KEY , KeyStroke.getKeyStroke("ctrl O") ); 
	    		   putValue( Action.SMALL_ICON,     new ImageIcon(MyEditor.class.getResource("/toolbarButtonGraphics/general/Open16.gif")) ); 
	    	   }	 
	
	    	   public void actionPerformed( ActionEvent e )
	    	   { 
	    		   FileNameExtensionFilter filter = new FileNameExtensionFilter("JPG & GIF Images & Text Files", "jpg", "gif", "txt");					//zeigt nur die angegebenen Dateien an
	    		   fc.setFileFilter(filter);

	    		   //fc.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
	    	       //fc.setFileSelectionMode(JFileChooser.FILES_ONLY);
	    	       //fc.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);
	    		   
	    		   int returnVal = fc.showOpenDialog( null );
	    		   
	    		   //if(returnVal == JFileChooser.APPROVE_OPTION) {																							//bei Drücken von "Öffnen" if Bedingung ausführen
	    		    //   System.out.println("You chose to open this file: " +
	    		      //      fc.getSelectedFile().getName());
	    		    //}
	    		   
	    		   if ( fc.showOpenDialog( null ) == JFileChooser.APPROVE_OPTION ) 
	    	        { 
	    	          FileReader in = null; 
	    	          try { 
	    	            textArea.read( in=new FileReader(fc.getSelectedFile()), null ); 
	    	          } 
	    	          catch ( IOException ex ) { 
	    	            textArea.setText( ex.getMessage() ); 
	    	          } 
	    	          finally { 
	    	            try { in.close(); } catch ( Exception ex ) { } 
	    	          } 
	    	        } 

	    	   } 
	       });
	       
	       fileMenu.addSeparator();
	       
	       fileMenu.add(new AbstractAction()
	       { 
	    	   { 
	    		   putValue( Action.NAME, "Speichern als..." ); 
	    		   putValue( Action.ACCELERATOR_KEY , KeyStroke.getKeyStroke("ctrl S") ); 
	    		   putValue( Action.SMALL_ICON,     new ImageIcon(MyEditor.class.getResource("/toolbarButtonGraphics/general/SaveAs16.gif")) ); 
	    	   }	 
	
	    	   public void actionPerformed( ActionEvent e )
	    	   { 
	    		   int returnVal = fc.showSaveDialog(null);
	    	   } 
	       });
	       
	       fileMenu.addSeparator();
	       
	       fileMenu.add(new AbstractAction()
	       { 
	    	   { 
	    		   putValue( Action.NAME, "Drucken als..." ); 
	    		   putValue( Action.ACCELERATOR_KEY , KeyStroke.getKeyStroke("ctrl P") ); 
	    		   putValue( Action.SMALL_ICON,     new ImageIcon(MyEditor.class.getResource("/toolbarButtonGraphics/general/Print16.gif")) ); 
	    	   }	 
	
	    	   public void actionPerformed( ActionEvent e )
	    	   { 
	    		   System.out.println("Drucken als...");
	    	   } 
	       });
	       
	       fileMenu.addSeparator();
	       
	       fileMenu.add(new AbstractAction("Beenden")
	       	{
	    	   public void actionPerformed(ActionEvent e){System.exit(0);}
	       	});
	       //###################### Filemenu => Untemenues (Ende) #######################################################################################
	       
	       //##################### Helpmenu => Untermenues ##############################################################################################
	       helpMenu.add(new AbstractAction()
	       { 
	    	   { 
	    		   putValue( Action.NAME, "Editor-Hilfe" ); 
	    		   putValue( Action.ACCELERATOR_KEY , KeyStroke.getKeyStroke("F1") ); 
	    		   putValue( Action.SMALL_ICON,     new ImageIcon(MyEditor.class.getResource("/toolbarButtonGraphics/general/Help16.gif")) ); 
	    	   }	 
	
	    	   public void actionPerformed( ActionEvent e )
	    	   { 
	    		   System.out.println("Hilfe");
	    	   } 
	       });
	       //##################### Helpmenu => Untermenues (Ende) ########################################################################################
	       
	       setVisible(true);
	}
}
 

XHelp

Top Contributor
Du kannst den Text auch in der Konsole ausgeben, wie du es auch immer willst.
JTextArea ist einfach nur eine der Standartkomponenten für Text.

Was die GUI angeht, vermisse ich da irgendwie den LayoutManager
Und die Initializierer-Blöcke brauchst du nicht zwingend, lieber sinnvoll das ganze machen.
 

BlubBlub

Bekanntes Mitglied
Mein Programm ist noch bei weitem nicht fertig, da gibts sicherlich noch so einiges
was da verbessert werden muss, alles Schritt für Schritt, aber bin natürlich für jede Kritik dankbar.


Nee in der Konsole nicht, das soll ja schon im Fenster ausgegeben werden dazu ist es eigentlich gedacht, dass alles in diesem Fenster angezeigt wird.
Ich dachte halt nur es gebe so eine ultimative Methode mit der ich mir die Falluntscheidungen sparen kann.
So in der Art wie
Java:
Runtime.getRuntime().exec("cmd /C \"" + pfad + "\"");
aus dem Beispiel Dateien systemunabhängig mit dem Standard-Programm öffnen @ tutorials.de: Tutorials, Forum & Hilfe
Das pass zwar nicht ganz zu dem was ich vorhabe aber ich meine halt so grob auf diese Beispiel jetzt bezogen, dass man mit einer Zeile unterschiedliche Dateien lädt.
Aber gut ich mach das dann jetzt mit den Fallunterscheidungen.
 
Zuletzt bearbeitet von einem Moderator:
Ähnliche Java Themen
  Titel Forum Antworten Datum
G Datei öffnen Dialog modifizieren AWT, Swing, JavaFX & SWT 13
K Datei öffnen Dialog AWT, Swing, JavaFX & SWT 5
P Datei öffnen Dialog: AWT, Swing, JavaFX & SWT 6
P Programm durch Dateiaufruf starten und Datei öffnen AWT, Swing, JavaFX & SWT 2
M Datei in jar öffnen AWT, Swing, JavaFX & SWT 11
N Applet JButton soll html Datei aus einem Ordner öffnen AWT, Swing, JavaFX & SWT 2
T SWT:Datei speichern / öffnen AWT, Swing, JavaFX & SWT 6
J Fehler beim Gif Datei öffnen AWT, Swing, JavaFX & SWT 2
N Swing TreePath Datei öffnen AWT, Swing, JavaFX & SWT 7
W jar Datei öffnen AWT, Swing, JavaFX & SWT 4
S Auswahlfenster: Datei beim Doppelklick öffnen AWT, Swing, JavaFX & SWT 8
A HTML-Datei öffnen AWT, Swing, JavaFX & SWT 3
G avi-Datei mit Desktop.getDesktop().open(File) öffnen AWT, Swing, JavaFX & SWT 4
F Bilder zu ausführbarer Jar-Datei hinzufügen AWT, Swing, JavaFX & SWT 5
M Daten zufällig Einlesen aus einer Datei (binäres Format) AWT, Swing, JavaFX & SWT 7
ExceptionOfExpectation Mit einer laufenden GUI Applikation eine Datei in dem Rechner löschen AWT, Swing, JavaFX & SWT 2
melaniemueller Wortliste in einer Datei ablegen AWT, Swing, JavaFX & SWT 12
princess_sara1997 .jar Datei führt den Code nicht richtig aus AWT, Swing, JavaFX & SWT 19
Yonnig Lokale HTML-Datei in Java GUI rendern AWT, Swing, JavaFX & SWT 4
N JavaFX Javafx intelij Projekt zu ausführbaren jar Datei Machen AWT, Swing, JavaFX & SWT 1
Jose05 JavaFX: eigene FXML-Datei für einen Button AWT, Swing, JavaFX & SWT 3
T FXML Datei in Java Code einbinden: javafx.fxml.LoadException AWT, Swing, JavaFX & SWT 2
BabySuna Swing Komponenten auslagern auf separate Datei AWT, Swing, JavaFX & SWT 8
J Java Datei durch CMD mit Parameter ausführen AWT, Swing, JavaFX & SWT 1
B JavaFX JavaFX Anwendung deployen (entw als runnableJAR oder exe-Datei) AWT, Swing, JavaFX & SWT 15
M Eine Datei auf den Apache Server hochladen - über das Menü im JavaProgramm AWT, Swing, JavaFX & SWT 7
VPChief Gibt es eine möglichkeit Dateien aus der jar datei zu kopieren? AWT, Swing, JavaFX & SWT 46
H Daten aus einer XML(x83-Datei) in einem JFrame anzeigen lassen AWT, Swing, JavaFX & SWT 9
MasterCaution Swing .jar Datei ausführen AWT, Swing, JavaFX & SWT 12
A Swing Datei lässt sich zwar speichern, aber nicht laden (Inhalt im JTextField anzeigen) AWT, Swing, JavaFX & SWT 18
K Probleme bei der Erstellung und Ausführung einer Jar Datei AWT, Swing, JavaFX & SWT 2
G Verknüpfung einer pdf Datei AWT, Swing, JavaFX & SWT 2
N Ausführbare Datei aus JavaFX Projekt erstellen AWT, Swing, JavaFX & SWT 22
L Bilder werden in exportierter Datei nicht geladen AWT, Swing, JavaFX & SWT 6
L Csv-Datei einlesen AWT, Swing, JavaFX & SWT 34
J *.jar öffnet PDF-Datei nicht AWT, Swing, JavaFX & SWT 35
M JavaFX Altes Fenster (FXML Datei) löschen AWT, Swing, JavaFX & SWT 16
F Java FX Von der Fxml Datei zum Objekt AWT, Swing, JavaFX & SWT 8
A JavaFX Anwendung in Jar Datei AWT, Swing, JavaFX & SWT 8
F FXML Datei aus dem SceneBuilder in Eclipse aufrufen AWT, Swing, JavaFX & SWT 1
J Swing JavaProgramm für Verschlüssen für eine Datei AWT, Swing, JavaFX & SWT 19
T .jar-Datei lässt sich unflexibler ausführen als über die IDE AWT, Swing, JavaFX & SWT 11
Kanda Sorata Inhalt einer .txt Datei einlesen und in ein Label einfügen (JavaFX) AWT, Swing, JavaFX & SWT 2
H Musik wird nach dem erstellen der .jar Datei nicht mehr abgespielt AWT, Swing, JavaFX & SWT 1
H JavaFX aus der .fxml Datei einen Konstruktor bedienen AWT, Swing, JavaFX & SWT 3
P JavaFX - XCF Datei von Gimp kann nicht angezeigt werden AWT, Swing, JavaFX & SWT 3
M Wie binde ich eine JavaFX ProgressBar an eine Datei Übertragung? AWT, Swing, JavaFX & SWT 2
7 JavaFX Verwendung einer ResizableCanvas-Klasse in fxml-Datei AWT, Swing, JavaFX & SWT 3
C JavaFX Auf Nodes einer FXML-Datei in start Methode zugreifen AWT, Swing, JavaFX & SWT 5
F Pfad von eingelesener Datei AWT, Swing, JavaFX & SWT 10
Crazynet xls Datei in JTable AWT, Swing, JavaFX & SWT 3
D Objekte einer Oberfläche in eine Datei/Ordner speichern AWT, Swing, JavaFX & SWT 9
G .txt-Datei einlesen /formatieren in JTextfield ?? AWT, Swing, JavaFX & SWT 8
B ST Datei einlesen AWT, Swing, JavaFX & SWT 1
D JavaFX Jar Datei Signieren mit Java 8u45 AWT, Swing, JavaFX & SWT 2
M Datei mit Komponenten einbinden AWT, Swing, JavaFX & SWT 7
M Swing PDF Datei nach drucken nicht löschbar AWT, Swing, JavaFX & SWT 6
A Databinding in FXML-Datei AWT, Swing, JavaFX & SWT 1
H 2D-Grafik .EPS Datei in .PNG konvertieren AWT, Swing, JavaFX & SWT 1
F Swing Java Swing Array in Datei und wieder raus AWT, Swing, JavaFX & SWT 7
L 2D-Grafik PNG Datei in JLabel Array Problem AWT, Swing, JavaFX & SWT 4
B JAVAFX und CSS Datei in Eclipse AWT, Swing, JavaFX & SWT 4
3 Swing JList-Inhalt als verschlüsselte Datei schreiben und lesen AWT, Swing, JavaFX & SWT 1
S Aus XML Datei FXML generieren AWT, Swing, JavaFX & SWT 4
V JavaFX - fxml-Datei laden (neben CSS) AWT, Swing, JavaFX & SWT 2
S Swing Verzeichnis/Datei-Pfad in JTextField schreiben AWT, Swing, JavaFX & SWT 2
A JFileChooser Datei speichern AWT, Swing, JavaFX & SWT 4
T Aus JAVA.Jar GUI eine Flash-Datei machen AWT, Swing, JavaFX & SWT 3
A Datei weiterverwenden mit JFileChooser AWT, Swing, JavaFX & SWT 6
A AWT TTF-Datei zu Font-Objekt finden? AWT, Swing, JavaFX & SWT 5
Iron Monkey Nach Drag & Drop die Datei auf Komponent darstellen AWT, Swing, JavaFX & SWT 2
J JFileChooser - Datei speichern AWT, Swing, JavaFX & SWT 7
W Funktion aus einer Java Datei in eine andere einbauen AWT, Swing, JavaFX & SWT 25
P Neue Datei erstellen in JPanel AWT, Swing, JavaFX & SWT 5
N Speicherpfad für Datei auswählen AWT, Swing, JavaFX & SWT 2
A JTextArea - Zeichenbegrenzung nach .txt Datei import AWT, Swing, JavaFX & SWT 6
E Swing jTextPane Text datei anzeigen AWT, Swing, JavaFX & SWT 7
M Datei Speichern unter Dialog - SWT AWT, Swing, JavaFX & SWT 3
X Applet Java Applet Datei Ausführung AWT, Swing, JavaFX & SWT 9
J Bild aus Datei in BufferedImage laden AWT, Swing, JavaFX & SWT 4
M Swing XML Datei in JTable darstellen + verändern AWT, Swing, JavaFX & SWT 3
D Swing JTable in Datei speichern und laden AWT, Swing, JavaFX & SWT 3
kodela Swing JFileChooser und die Datei-Extension AWT, Swing, JavaFX & SWT 3
T Info Datei AWT, Swing, JavaFX & SWT 3
J ImageIcon: ZipException bei ungültiger PNG-Datei AWT, Swing, JavaFX & SWT 2
W TrayIcon mit jdic (Problem bei .jar Datei) AWT, Swing, JavaFX & SWT 3
D Nodes eines statischen JTrees sollen auf Anker (Textmarken) in einer HTML-Datei zeigen AWT, Swing, JavaFX & SWT 8
R Swing XML Datei in JTree, Problem mit Daten einlesen AWT, Swing, JavaFX & SWT 34
M AWT Datei auf server speichern und beschreiben AWT, Swing, JavaFX & SWT 7
P JMenu-Erweiterung in externer Datei AWT, Swing, JavaFX & SWT 5
M Text in txt-Datei in letzte Zeile schreiben? AWT, Swing, JavaFX & SWT 14
X Swing Inhalt einer JEditorPane in Datei abspeichern AWT, Swing, JavaFX & SWT 5
E Datei in TextArea anzeigen AWT, Swing, JavaFX & SWT 12
data89 Nimbus Look and Feel als gepackte JAR-Datei AWT, Swing, JavaFX & SWT 3
N Swing Hintergrund Bild in JAR Datei AWT, Swing, JavaFX & SWT 2
I Swing .Jar Datei - funktioniert - nun als Applet AWT, Swing, JavaFX & SWT 13
M Text-Datei in einem JFrame öffen? AWT, Swing, JavaFX & SWT 2
Fadi Images in JAR Datei laden? AWT, Swing, JavaFX & SWT 5
K Hyperlink als Datei identifizieren AWT, Swing, JavaFX & SWT 2
S Jar-Datei funktioniert nicht richtig AWT, Swing, JavaFX & SWT 3

Ähnliche Java Themen

Neue Themen


Oben