JFileChooser - Keine Funtkion

niki2011

Mitglied
Hallo !
Ich bin ganz frisch hier und hoffe, dass mein Thema auch in diese Unterkategorie gehört.
Leider habe ich zurzeit ein Problem, wo ich als JAVA-Anfänger nicht weiterkomme.
Ich habe ein Programm geschrieben, den CTI Creator.
Er soll eine Konfigurationsdatei (im Editor) , die auf .cti endet schreiben.
Ich habe nun wie folgt gehandelt:
In meiner Programmoberfläche habe ich einen JButton angelegt, dieser soll auf Knopfdruck
einen JFileChooser öffnen, mit dem ich die Eingabe von 3 JTextFields in einer. cti Datei
abspeichern kann !
Kommt ihr mit ?

Hier ein Auszug : (Der Button ist bereits angelegt worden)
Java:
    button1.setBounds(128, 336, 209, 57);
    button1.setText("CTI Erstellen !");
    button1.addActionListener(new ActionListener() {

    public void actionPerformed(ActionEvent evt) {
    button1_ActionPerformed(evt);
    String a = textField1.getText();
    String b = textField11.getText();
    String c = textField111.getText();
    jfcsSaveFilename(a,b,c);

Das ganze sollte nun wie folgt funktionieren.
Der Action-Listener des Buttons soll die Strings an die Methode jfcsSaveFilename übergeben.
Dies habe ich mit den Parametern erreicht.


Ich weiß jedoch nicht, wie ich die Methode jfcsSaveFilename schreiben muss, damit sich
mein gewünschter Speichern-Dialog öffnet, und die 3 Strings abspeichert.
Da gibt es jedoch noch ein kleines Problem.
In der fertigen & abgespeicherten Datei sollten nicht nur die 3 Strings zu finden sein.
Ein gewisser Standartcode der in dieser CTI Datei immer vorhanden sein muss,
muss ebenso ohne Eingabe des Benutzers direkt eingegeben werden.
Geschweige denn der Zeilenumbruch...


Vieleicht versteht mich einer, sodass man die Strings schon einmal speichern kann ! :)

Gruß.
 
Zuletzt bearbeitet:

Ulathar

Aktives Mitglied
Dazu sind 2 Schritte notwendig.

Zu erst musst du den FileChooser selbst callen (in deinem GUI öffnet sich dann ein Fenster wo du wie gewohnt die Zieldatei wählen kannst).

Dadurch erhälst du ein File Object, bzw den Absoluten Pfad zur gewählten Datei und kannst mit diesem eine neue File anlegen.

Diese musst du dann deiner "Filewriterfunktion" übergeben.

Mom ich frickel dir mal fix n beispiel zusammen (editier den post gleich).


EDIT:

Der FileChooser:
Java:
public void actionPerformed(ActionEvent evt) {									
									JFileChooser jfc = new JFileChooser();
									jfc.setFileSelectionMode(JFileChooser.FILES_ONLY);
									jfc.setCurrentDirectory(new File(System.getProperty("user.dir")));
									
									int returnVal = jfc.showSaveDialog(null);
									if(returnVal == JFileChooser.APPROVE_OPTION) {										
										
//möglichkeit 1:
DEINFILEWRITER(jfc.getSelectedFile());

//möglichkeit 2:
DEINFILEWRITER(jfc.getSelectedFile().getAbsolutePath());
									}
								}

Bedenke, dies ist nur ein Beispiel, in der Praxis kanns du mit dem filechooser noch viel mehr machen.
Z.B. kannst du auch so genannte FileFilter definieren, so dass du z.b. nur .cgi Files angezeigt bekommst, etc.

"jfc.setCurrentDirectory(new File(System.getProperty("user.dir")));" setzt dabei den FileChooser auf das Verzeichnis, in dem dein Programm ausgeführt wird.
Kannst statt dessen aber auch "jeden anderen x-beliebigen Pfad angeben".


DEINFILEWIRTER:
Java:
FileWriter fw;
			try {
				fw = new FileWriter(file, false);
				BufferedWriter bw = new BufferedWriter(fw);
				bw.write("Bla");
	            bw.newLine();
				bw.write("Blubb");
	            bw.newLine();
	            bw.flush();
	            bw.close();
	            fw.close();
			}catch(IOException e) {		
				e.printStackTrace();
			}
 
Zuletzt bearbeitet:
G

Gast2

Gast
Ein FileChooser schreibt nichts in eine Datei sondern wählt eine Datei oder Ordner aus.

Etwas in eine Datei "schreiben", musst du schon selber machen siehe FileWriter.
 

Titanpharao

Bekanntes Mitglied
Code:
                    JFileChooser fileChooser = new JFileChooser(); 
                    fileChooser.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES); 
                    fileChooser.showSaveDialog(JFrame.this); 
                    File fileSelected = fileChooser.getSelectedFile();

Probiers mal damit. Das einfach in deine Methode reinpacken und am ende mit dem fileSelected weiterarbeiten.
In etwa so:
Code:
BufferedWriter bw=new BufferedWriter(new FileWriter(fileSelected ));
bw.write(a);
bw.write(b);
bw.write(c);
bw.close;
 

niki2011

Mitglied
Super, danke schonmal.
Werde probieren das heute noch umzusetzen.

Wie setze ich das denn um , dass ich nur .cti Files sehe ?
Danke schonmal :)
 

Titanpharao

Bekanntes Mitglied
Google ist dein Freund ... Filtern wäre hier das Stichwort.

Code:
fileChooser.setFileFilter(new FileNameExtensionFilter("CTI File","cti"));

Das wäre wohl die saubere und von Java mitgelieferte Variante. Könntest es dir aber auch selbst machen.
 

Ulathar

Aktives Mitglied
Super, danke schonmal.
Werde probieren das heute noch umzusetzen.

Wie setze ich das denn um , dass ich nur .cti Files sehe ?
Danke schonmal :)


Hab ich doch oben geschrieben, nennt sich "FileFilter", gibt dazu ca 1 mio beispiele im www ;).
Auch hier kannst dus wieder "simpel" halten, wie z.b. Titanpharao über mir gepostet hat, oder du kannst dir ne eigene FileFilter Class schreiben mit zusätzlicher Funktionalität, je nach dem was du benötigst.
 

niki2011

Mitglied
Vielen Dank, erstmal !
Habe leider immer noch Errors, muss mal sehen woran das liegt. Ich habe jetzt mal probiert die Art und Weise von Ulathar auszuprobieren, bleibe jedoch dort stecken.
Ich habe den Code von Ulathar entsprechend veränert.
Den oberen (File Chooser - Aufruf ) habe ich kopiert und bei mir eingefügt.. sieht nun so aus:
Das ist der ACTION LISTENER vom Button 1 - wie oben beschrieben.


Java:
 public void actionPerformed(ActionEvent evt) {
        button1_ActionPerformed(evt);
        String a = textField1.getText();
        String b = textField11.getText();
        String c = textField111.getText();
        
        // Textfelder werden ausgelesen
        // unten wird der bereits oben angelegt SAVE-DIALOG verwendet (jfcs ist dieser)

        
        
        
        jfcs.setFileSelectionMode(JFileChooser.FILES_ONLY);
        jfcs.setCurrentDirectory(new File(System.getProperty("user.dir")));
        int returnVal = jfcs.showSaveDialog(null);
        if(returnVal == JFileChooser.APPROVE_OPTION) {
        fw(jfcs.getSelectedFile().getAbsolutePath()); }
        


        }}

Das Programm lässt sich logischerweise zurZeit nicht starten, da er fw nicht findet.
Also den Verweis zum Writer.

(Siehe
Code:
 17
)

Wie muss ich nun fortfahren ?
Danke.

Sorry für die Anfängerfragen :(
Gruß.
 
Zuletzt bearbeitet:

Ulathar

Aktives Mitglied
hast du ausserhalb des action listeners irgendwo als lokale oder globale variable dein "jfcs" object definiert und initialisiert?

wenn nicht, kann das schonmal überhaupt nicht funktionieren.


falls ja musst du jetzt natürlich die von dir gecallte function "fw(bla)" implementieren wo du im prinzip nur den von mir oben geposteten code für den filewriter verwenden musst.

alternativ kannst du auch auf die methode komplett verzichten und den code zum schreiben der datei direkt nach dem jfcs aufruf in deinen action listener packen (find ich aber unschön).
 

niki2011

Mitglied
hast du ausserhalb des action listeners irgendwo als lokale oder globale variable dein "jfcs" object definiert und initialisiert?
wenn nicht, kann das schonmal überhaupt nicht funktionieren.

Java:
  private Label label1 = new Label();
  private JTextField textField1 = new JTextField();
  private JTextField textField11 = new JTextField();
  private JLabel label2 = new JLabel();
  private JTextField textField111 = new JTextField();
  private JLabel label22 = new JLabel();
  private JLabel label21 = new JLabel();
  private JButton button1 = new JButton();
  private JMenuBar menuBar = new JMenuBar();
  private JMenu Datei = new JMenu ("Datei");
  private JMenuItem Über = new JMenuItem ("Über");
  private JMenuItem Schließen = new JMenuItem ("Schliessen");
  public  JFileChooser jfcs = new JFileChooser();

Hier siehst du eine Liste mit meinen Definitionen. Müsste stimmen, da sich der Compiler
nicht mit jfcs auseinandersetzt.
 
Zuletzt bearbeitet:

niki2011

Mitglied
Ulathar !
Danke !
Ich habe es fast geschafft :)
Ich kann alles abspeichern, das Problem ist nur er speichert es nicht unter .cti ab.
Das mit dem Filter klappt leider nicht.
Er speichert es nur unter DATEI ab, die ich dann mit Öffnen mit.. öffnen soll !
Aber sonst, besten Dank !
 

Ulathar

Aktives Mitglied
du musst einer datei auch eine endung geben.
andernfalls setzt java den dateinamen nur auf den absoluten pfad.

beispiel:

du gibst den folgenden pfad an:

"c:\neuer ordner\bla"

dann wird in dem ordner "neuer ordner" auf Partition C eine datei mit dem namen "bla" erzeugt.
Wählst du aber als pfad "c:\neuer ordner\bla.blubb"
wird im neuen ordner die datei "bla.blubb" angelegt.

ganz einfach.

was du nun machen kannst ist folgendes:

überprüfe den Pfad den dein filechooser dir liefert, ob der benutzer eine dateiendung angegeben hat. falls nicht, füge diese hinzu.

das geht in etwa so:

Java:
String path = jfcs.getSelectedFile().getAbsolutePath();
if(!path.endsWith(".cti")) {
   path = path + ".cti";
}


PS: hab gerade keine zeit für korrekte groß- und kleinschreibung ;)
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
technolion FileDialog/keine Multi-Selektion vs. JFileCHooser/kein LaF AWT, Swing, JavaFX & SWT 2
I JFileChooser: Zeigt keine Eingabefeld AWT, Swing, JavaFX & SWT 2
Tommy135 JFileChooser ist sehr langsam AWT, Swing, JavaFX & SWT 13
T JFileChooser ist Englisch und bleibt Englisch und bleibt Englisch... AWT, Swing, JavaFX & SWT 15
M Swing jFileChooser Header viewTypeDetails setFont AWT, Swing, JavaFX & SWT 0
I JFileChooser mit System L&F bei anderem L&F der eigtl. Anwendung AWT, Swing, JavaFX & SWT 0
Meeresgott AWT JFileChooser bestimmte Ordner anzeigen AWT, Swing, JavaFX & SWT 16
S Swing JFileChooser best. Ordner wie Dateien behandeln AWT, Swing, JavaFX & SWT 4
H Swing JFileChooser für nicht existierendes Unterverzeichnis AWT, Swing, JavaFX & SWT 3
javampir Swing Anzeige der FileFilter im JFileChooser AWT, Swing, JavaFX & SWT 0
L JFileChooser Datentyp Unterscheidung AWT, Swing, JavaFX & SWT 6
K JFileChooser NullPointerException AWT, Swing, JavaFX & SWT 7
H JFileChooser Dateinamen vorgeben (Save Dialog) AWT, Swing, JavaFX & SWT 9
Neumi5694 Swing JFilechooser - Detailansicht AWT, Swing, JavaFX & SWT 0
M JFileChooser Look and Feel AWT, Swing, JavaFX & SWT 2
T JFileChooser Rahmenfarbe ändern AWT, Swing, JavaFX & SWT 1
K Pfad mit JFileChooser ausgeben lassen AWT, Swing, JavaFX & SWT 7
C JFileChooser hängt bei Ausführung mit Terminal AWT, Swing, JavaFX & SWT 2
T Swing JFileChooser und FileView AWT, Swing, JavaFX & SWT 4
M Einzelne Ordner im JFileChooser ausgrauen? AWT, Swing, JavaFX & SWT 4
H Swing JFileChooser inline editing AWT, Swing, JavaFX & SWT 4
D JFileChooser anpassen AWT, Swing, JavaFX & SWT 5
AssELAss Verzeichnis JFileChooser aktualisieren AWT, Swing, JavaFX & SWT 0
A JFileChooser Datei speichern AWT, Swing, JavaFX & SWT 4
A Datei weiterverwenden mit JFileChooser AWT, Swing, JavaFX & SWT 6
T Importer-Auswahl im JFileChooser AWT, Swing, JavaFX & SWT 3
N JFileChooser bzw. FileDialog Problem AWT, Swing, JavaFX & SWT 10
A Swing JFileChooser - Größenänderung nach Aufruf von showOpenDialog() AWT, Swing, JavaFX & SWT 15
D Serverdirectory auf Client browsen mit JFileChooser AWT, Swing, JavaFX & SWT 7
F icon aus exe auslesen mithilfe des JFilechooser ? AWT, Swing, JavaFX & SWT 4
C JFileChooser und Netzwerk Laufwerke AWT, Swing, JavaFX & SWT 4
Iron Monkey JFileChooser - Drag and Drop AWT, Swing, JavaFX & SWT 5
J JFileChooser - Datei speichern AWT, Swing, JavaFX & SWT 7
M Element aus JList eines JFileChooser entfernen AWT, Swing, JavaFX & SWT 3
P JFileChooser mit verschidene Endungen AWT, Swing, JavaFX & SWT 12
S Swing Ordner im JFileChooser auswählen AWT, Swing, JavaFX & SWT 2
C JFileChooser bringt parent durcheinander AWT, Swing, JavaFX & SWT 2
N JFileChooser mit Dateinamenvorgabe AWT, Swing, JavaFX & SWT 9
S JFileChooser GTK (Ubuntu) "hässlich" AWT, Swing, JavaFX & SWT 2
A Swing JFileChooser mit modifiziertem Kontextmenü AWT, Swing, JavaFX & SWT 4
S JFileChooser öffnet den falschen Ordner AWT, Swing, JavaFX & SWT 4
A Swing JFilechooser zeigt verzeichnisse nicht an AWT, Swing, JavaFX & SWT 2
A Swing JFileChooser - Anzeige in Echtzeit filtern AWT, Swing, JavaFX & SWT 10
M JFileChooser umbenennen verbieten AWT, Swing, JavaFX & SWT 4
Helgon JFileChooser öffnet sich 2x AWT, Swing, JavaFX & SWT 12
K JFileChooser mit Zusatzfunktionen AWT, Swing, JavaFX & SWT 8
GUI-Programmer JFilechooser, mehrere Datein selektieren und Reihenfolge (2) AWT, Swing, JavaFX & SWT 8
V JFileChooser auf Mac und Netzwerkordner AWT, Swing, JavaFX & SWT 2
B JFileChooser breite der Spalten? AWT, Swing, JavaFX & SWT 5
M JFileChooser setCurrentDirectory() - Verzeichnis relativ zum Code/binary AWT, Swing, JavaFX & SWT 14
P Swing Dateinamen im JFileChooser vorschlagen AWT, Swing, JavaFX & SWT 11
M JFileChooser Abfangen des DateiTypen möglich?? AWT, Swing, JavaFX & SWT 5
T Swing JFileChooser --> Desktop und Laufwerke im "Suchen in" - Drop Down AWT, Swing, JavaFX & SWT 3
T JFileChooser - "Öffnen-Button" aktivieren/deaktivieren möglich??? AWT, Swing, JavaFX & SWT 2
jueki Aktuell eingestellten Filter aus einem JFileChooser abfragen. AWT, Swing, JavaFX & SWT 5
F Swing JFileChooser - Dateinamen nicht editierbar machen AWT, Swing, JavaFX & SWT 8
I Fehler bei JFileChooser AWT, Swing, JavaFX & SWT 2
K JFileChooser mehrere Dateien markieren ohne STRG AWT, Swing, JavaFX & SWT 4
Ivan Dolvich [Linux] JFileChooser sieht komisch aus... AWT, Swing, JavaFX & SWT 12
M Zurück-Button in JFileChooser AWT, Swing, JavaFX & SWT 9
N JFileChooser AWT, Swing, JavaFX & SWT 4
D Problem mit JFileChooser -> Daten werden mit anführungsstriche in JTable geschrieben AWT, Swing, JavaFX & SWT 8
S JFileChooser Dateiname Autovervollständigung AWT, Swing, JavaFX & SWT 2
B JDialog über JFileChooser anzeigen AWT, Swing, JavaFX & SWT 6
I Swing JFileChooser '\' im Pfad... AWT, Swing, JavaFX & SWT 2
K Swing JFileChooser zum Speichern - FileFilter AWT, Swing, JavaFX & SWT 2
M Swing Execption beim JFileChooser AWT, Swing, JavaFX & SWT 4
kodela Swing JFileChooser und die Datei-Extension AWT, Swing, JavaFX & SWT 3
jueki eigenen Button in JFileChooser einfügen AWT, Swing, JavaFX & SWT 7
alderwaran jFileChooser showSaveDialog, dateinamen werden mit pfadnamen überschrieben beim navigieren AWT, Swing, JavaFX & SWT 1
B Swing Suche JFileChooser zum Speichern AWT, Swing, JavaFX & SWT 2
Iron Monkey JFileChooser DIRECTORIES_ONLY AWT, Swing, JavaFX & SWT 4
Semox Swing JFileChooser: Problem Approve oder Cancel abzufangen AWT, Swing, JavaFX & SWT 7
H JTree - nach Auswahl aus JFileChooser wird nur der erste Knoten angezeigt AWT, Swing, JavaFX & SWT 3
kodela Sicherheitsabfrage mit JFileChooser AWT, Swing, JavaFX & SWT 2
DARK_ZERATO2 jFileChooser AWT, Swing, JavaFX & SWT 4
G JFileChooser Problem AWT, Swing, JavaFX & SWT 4
G Swing JFileChooser Event für neue Directory? AWT, Swing, JavaFX & SWT 5
P JFileChooser AWT, Swing, JavaFX & SWT 2
M Swing JFileChooser und JFrame AWT, Swing, JavaFX & SWT 5
G Swing JFileChooser in einem JPanel? AWT, Swing, JavaFX & SWT 3
J JFileChooser Dateiauswahl beim Tippen einschränken AWT, Swing, JavaFX & SWT 3
M Swing JFileChooser mit Windows 7 AWT, Swing, JavaFX & SWT 8
R JFileChooser - Initiales Verzeichnis auswählen AWT, Swing, JavaFX & SWT 8
brainray JFileChooser - es sollen nur Ordner wählbar sein AWT, Swing, JavaFX & SWT 2
T JFileChooser Problem AWT, Swing, JavaFX & SWT 3
N Mit JFileChooser ein Verzeichnis auswählen AWT, Swing, JavaFX & SWT 7
M Swing JFileChooser und versteckte Ordner AWT, Swing, JavaFX & SWT 2
F jFileChooser verwenden AWT, Swing, JavaFX & SWT 4
M Swing ImageIcon über JFileChooser einbinden AWT, Swing, JavaFX & SWT 4
F JFileChooser mal wieder AWT, Swing, JavaFX & SWT 2
ARadauer Swing JFileChooser mit Bildvorschau AWT, Swing, JavaFX & SWT 5
H Swing Dateiauswahldialog mit JFileChooser funktioniert unzuverlässig AWT, Swing, JavaFX & SWT 11
G Swing JFileChooser nur in Verzeichnis+Unterverzeichnisse AWT, Swing, JavaFX & SWT 5
K Swing JFileChooser AWT, Swing, JavaFX & SWT 6
M JFileChooser einschränken AWT, Swing, JavaFX & SWT 3
L JFileChooser braucht lang zum öffnen AWT, Swing, JavaFX & SWT 2
S NullPointerException bei JFileChooser AWT, Swing, JavaFX & SWT 8
M JFilechooser defaultdirectory AWT, Swing, JavaFX & SWT 5
C JFilechooser this.setAlwaysOnTop AWT, Swing, JavaFX & SWT 2

Ähnliche Java Themen

Neue Themen


Oben