JFileChooser anpassen

devil13

Neues Mitglied
Guten Tag liebe Forummitglieder :)

habe mich hier gerade mal neu angemeldet, weil ich ein Problem habe, wo ich selbst keine Lösung finde.

Ich habe folgendes Problem:
Ich möchte mit einen FileChooser eine Datei auswählen, die geöffnet werden soll.
Nun möchte ich die möglichkeit haben, die zu öffnenden Daten entweder als neue Datei zu öffnen oder an eine bereits geöffnete Datei anzuhängen.

Dazu sind mir folgende Lösungsmöglichkeiten eingefallen:
1) eine Checkbox im FileChooser
2) ein seperater Button im FileChooser
3) ein anderer Öffnen Button Text, wenn Shift im FileChooser gedrückt gehalten wird


1) & 2) scheitern daran, dass ich es nicht hinbekomme, componenten im Filechooser einzufügen.
Ich habe es lediglich hinbekommen, Componenten an der Stelle einzufügen, wo sonst das Vorschaubild ist.
Ich möchte das Häkchen allerdings gerne unterhalb des FileFilters und den Button links neben Öffnen und Abbrechen

3) scheint für den FileChooser der KeyListener nicht zu funktionieren ...

Hat vllt jmd ne Idee, wie ich mein Problem lösen kann?

Vielen Dank!
 

DarXun

Aktives Mitglied
RTFM hier

Insbesondere showOpenDialog versus showSaveDialog

Read the ****ing post

devil13 sucht eine Möglichkeit mit verschiedenen APPROVEs aus diesem FileChooser zurückzukehren.
Eben je nachdem, ob die Datei "geöffnet" oder an eine andere Datei "angehangen" werden soll.
Das soll also in EINEM FileChooser passieren, nicht in verschiedenen.

Ich sehe hier aktuell nicht, wie dein Hinweis ihm weiterhilfen sollte, falls ich etwas übersehen habe entschuldige ich mich dafür und wäre dir sehr verbunden, wenn du uns aufklären könntest.

Wie dem auch sei...

Auf den ersten Blick sieht die 'showDialog'-Methode jedoch recht interessant aus, da hier der Text des APPROVE-Buttons geändert werden kann, allerdings sind scheinbar weiterhin nur die drei Rückgabewerte möglich (CANCEL, APPROVE, ERROR).

EDIT:

Du kannst per 'getComponents' an die diversen Panel kommen, die im JFileChooser enthalten sind.

Java:
JFileChooser fc = new JFileChooser();
JPanel p = (JPanel) fc.getComponents[3];
p.add(new Button("Text"));

Damit könntest du einen neuen Button einfügen. Weiter hab ich nicht probiert...
 
Zuletzt bearbeitet:

turtle

Top Contributor
Java:
import java.io.File;

import javax.swing.JFileChooser;

public class MyFileChooser {

	public static void main(String[] args) {
		final JFileChooser fc = new JFileChooser();
		int returnVal = fc.showDialog(null, "Save/Append");
		// int returnVal = fc.showSaveDialog(null); // Wenn es reicht, das da
		// Speichern steht
		if (returnVal == JFileChooser.APPROVE_OPTION) {
			File selectedFile = fc.getSelectedFile();
			if (selectedFile.exists()) {
				System.out.println("An " + selectedFile + " anhängen.");
			} else {
				System.out.println("Neue Datei " + selectedFile);
			}
		}
	}
}
 

Harry Kane

Top Contributor
Und jetzt ohne System.outs. Die ganze Logik ist im JFileChooser hinterlegt:
Java:
import java.io.File;
import java.io.FilenameFilter;
import javax.swing.JFileChooser;
import javax.swing.JOptionPane;

public class CheckAppendFileChooser extends JFileChooser {

    private boolean append;

    public CheckAppendFileChooser(File file) {
        super(file);
    }

    public boolean isAppend(){
		return append;
    }

    @Override
    public void approveSelection() {
        File selected = getSelectedFile();
        if (getDialogType() == JFileChooser.SAVE_DIALOG && getSelectedFile() != null && getSelectedFile().exists()) {
            int value = JOptionPane.showConfirmDialog(this, "Warning! The file \n\r" + getSelectedFile().getPath() + "\n\r already exists! Append ?", "Warning", JOptionPane.YES_NO_OPTION, JOptionPane.WARNING_MESSAGE);
            if (value == JOptionPane.NO_OPTION) {
                append = false;
				//oder return falls der Dialog offen bleiben soll;
            }
			else append = true;
        }
        super.approveSelection();
    }
}
Es muss an der Stelle wo die Funktionalität benutz werden soll, lediglich der Status von fileChooser.getAppend() abgefragt werden.
Ich bin mir aber nicht ganz sicher, was du eigentlich willst:
Ich möchte mit einen FileChooser eine Datei auswählen, die geöffnet werden soll.
Nun möchte ich die möglichkeit haben, die zu öffnenden Daten entweder als neue Datei zu öffnen oder an eine bereits geöffnete Datei anzuhängen.
Bedeutet das, du willst zu speichernde Informationen entweder anhängen (falls die Datei schon existiert), oder die Datei mit den zu speichernden Informationen neu anlegen (falls sie noch nicht existiert)? Dann finde ich das aber mit "eine Datei auswählen, die geöffnet werden soll" nicht gut beschrieben.
 

devil13

Neues Mitglied
Vielen Dank ersteinmal für eure Antworten Harry Kane, turtle und DarXun!


Letztlich habe ich mich für eine leicht abgewandelte Version von der von Harry Kane vorgeschlagenen (auf dervon turtle anknüpfende Idee) entschieden, da sie doch sehr clever ist.

Mein Problem ist hiermit gelöst, Danke!
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
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
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
N JFileChooser - Keine Funtkion AWT, Swing, JavaFX & SWT 13
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
G JFileChooser - erkennen v. existierenden Dateien ohne Endung AWT, Swing, JavaFX & SWT 1
N JFilechooser File auslesen AWT, Swing, JavaFX & SWT 10

Ähnliche Java Themen

Neue Themen


Oben