JFileChooser Verhalten -Pfad

osion

Bekanntes Mitglied
Hallo

Situation:

Ich habe ein Standartverzeichnis, welches automatisch genommen wird, ausser man wählt ein benutzerspezifisches.


  1. Ich habe ein JFileChooser und der fragt nach einem Verzeichnis
  2. Er speichert den Pfad in einem String und gibt dies zu einem Object File weiter
  3. Object file macht ein rename in einem neues Verzeichniss (also verschiebt die Datei).

Wenn ich über die JFileChooser Menüstruktur den Pfad auswähle geht alles gut, d.h. nimmt die Datei und schiebt sie in den Ordner t1.

Problem: Wenn ich den Pfad im Feld Ordnername reinkopiere, z. B. t1, so verschiebt er den Ordner und die Datei ins Standartverzeichnis (hier:Dateiordner, siehe picture).

Folgendes Vorgehen mit gleichem Ergebnis:
  1. Ich wähle den Ordner über JFileChooser aus und kopiere den vom System angezeigten Pfad im Field Ordnername und kopiere in direkt wieder rein.
  2. Kopiere Pfad aus dem Windows Ordner über Windows und kopiere in den JFileChooser Field Ordnername rein.

Frage: Was ist der Unterschied für JFile Chooser wenn ich den Pfad über die Menustruktur angebe, oder reinkopiere?
 

Network

Top Contributor
Kannst du ein KSKB schreiben? Scheint offenbar ein kleineres Problem zu sein aber ganz nachvollziehen kann ich dein Problem nicht.
 

lawila

Gesperrter Benutzer
könnte daran liegen das bei copy'n'paste des pfades in das text-field ein event fehlt was sonst beim klicken mit der maus ausgelöst wird

wäre nicht das erstmal das n swing-komponente so design-schlecht und fehlerhaft implementiert wäre

das korrekte verhalten wäre natürlich trotzdem den pfad im text-field auszuwerten ... wobei ich hier von ausgehe das es vermutlich nicht als input sondern eher nur als bestätigender output gedacht ist
 

Joose

Top Contributor
Wie lawila schon sagte, fehlt da glaub ich ein Event.
Hast du den Pfad schon mal in das Textfeld reinkopiert und "ENTER" gedrückt? Oder wird da Default der OK-Button ausgelöst?
 

lawila

Gesperrter Benutzer
naja, wenn man nur copy'n'paste in das text-field reinkopiert wird erstmal in soweit nur der input-listener des text-field selbst ausgelöst um halt den text einzufügen ... mehr nicht

wenn man jedoch mit der maus durch das system navigiert wird ja sowohl bei jedem move (was glaube ich nicht von belang ist) und spätestens beim klicken ein entsprechendes event ausgelöst
trifft dieses event auf eine auswählbare komponente (also einen file-eintrag) so wird dies selektiert und der aktuelle pfad auf dieses gelegt

ich denke das hier wirklich ein design-flaw im filechooser an sich liegt das bei copy'n'paste in das text-field und anschließendem fire-event (egal ob mit enter oder per klick auf approve) das text-field nicht mehr korrekt ausgewertet wird ... vor allem dann nicht wenn ein ganzer pfad drin steht

man könnte mal ausprobieren ob java clever genug ist einen pfad aufzulösen wenn durch drücken von enter im textfield das action-event ausgelöst wird (sofern überhaupt dort ein action-listener registriert ist)
 

Network

Top Contributor
Stock aus dem ***** ziehn soll auch schon geholfen haben.
Und jetzt zitier mir bitte noch die Zeile in der das steht, kanns nicht finden.
 

lawila

Gesperrter Benutzer
nun, joose hat dies ja nun schon für mich übernommen, aber um es dir noch mal zu erklären

ich habe dir den link zur aktuellen java-doc v8 gegeben
es ist hier die rede vom javax.swing.JFileChooser
also klickt man sich über das package javax.swing zur doc des JFileChooser
und geht dort dann die möglichen setter (da wie ich schrieb "man den filechooser auf directory-only setzt", was einen setter impliziert)
da setter in den standard-klassen nach java-convetions immer mit "set..." beginnen schränkt dies schon mal die auswahl möglicher methoden etwas ein
so ... nun kombiniert man noch mit etwas gesundem menschen verstand : "man will den modus bestimmen welche art von einträgen ausgewählt werden können" ... übersetzt das grob ins englische und kommt so auf setFileSelectionMode

du siehst also : mit etwas englisch und einer hand voll sachverständnis kommt man von ganz alleine drauf


dennoch dank an Joose das er sich trotzdem die mühe gemacht hat um dir faulpelz auf die sprünge zu helfen
 

Network

Top Contributor
Ich kann mich nicht erinnern gefragt zu haben, wie man den Auswahlmodus ändert. Und die Antwort zu meiner Frage steht auch nicht in der JavaDoc - auch wenn du mir die Antwort trotzdem bereits anderweitig geliefert hast.
 

lawila

Gesperrter Benutzer
Ich kann mich nicht erinnern gefragt zu haben, wie man den Auswahlmodus ändert. Und die Antwort zu meiner Frage steht auch nicht in der JavaDoc - auch wenn du mir die Antwort trotzdem bereits anderweitig geliefert hast.

ach ... du hast nicht gefragt wie man den auswahl modus ändert ... komisch ... dann hab ich folgendes wohl falsch verstanden

Wie kriegst du es hin, das dort "Ordnername" angezeigt wird?
Bei mir steht an der selben Stelle "Dateiname" unter Win7.

für mich ist das die eindeutige frage danach wie man es hinbekommt dem filechooser zu sagen das er als auswahl nur ordner zulassen soll ... und die antwort auf diese frage steht wie mitlerweile lang und breit erklärt sehr wohl in der doc ... womit auch deine zweite aussage das dies nicht der fall sei widerlegt ist

sollte ich deine "frage" also missverstanden haben bin ich für aufklärung dankbar
 

osion

Bekanntes Mitglied
[QUOTE=Joose;1029213]Wie lawila schon sagte, fehlt da glaub ich ein Event.
Hast du den Pfad schon mal in das Textfeld reinkopiert und "ENTER" gedrückt? Oder wird da Default der OK-Button ausgelöst?[/QUOTE]

Hey

Also das Programm funktioniert wie folgt:

1. Datei Auswählen (JFileChooser 1)
2. Datei speichern Standard PFad angeben (JFileChooser 1)
3. Für Datei X spezieller Pfad angeben (JFileChooser 1)

Ich weiss nicht genau wo das Problem liegt, weil der FileChooser später weiterverarbeitet wird und erst viel später das Verschieben erfolgt.

Ich muss den Ablauf genauer anschauen


Problem

Ich kann soweit sagen, dass ich es bei meinem Programm immer wiederholen kann, wie am Anfang beschrieben. Der Code ist sehr lange wo ich brauche, aber ich versuche eine einfachere Variante sobald wie möglich zu posten.
 

lawila

Gesperrter Benutzer
gut ... nur um noch mal bezug zum eingangspost zu nehmen : du verwendest EINEN chooser (schon mal sub-optimal, aber nicht weiter tragisch da du ja nach jedem schritt den pfad in einer anderen variable speichern kannst) um verschiedene ORDNER auszuwählen

dabei tritt das problem auf das wenn du dich "durchklickst" alles funktioniert, wenn du aber den pfad per copy'n'paste reinkopierst es nicht passt

da erstmal die frage : was kommt denn als return zurück ? NULL ... also ob "nichts ausgewählt wurde" ... das was du reinkopiert hast ? ... was völlig anderes ?

wäre schon mal gut zu wissen um analysieren zu können was der chooser da macht

dann auch weiterhin : was machst du nach dem du den pfad reinkopiert hast ? drückst du dann enter noch im text-field oder klickst du mit der maus auf ok ? ... oder sogar über tab ?


und : ist der pfad den du reinkopierst dann überhaupt gültig zu dem der aktuell angezeigt wird ? sind es realtive oder absolute pfade ? irgendwelche nicht-erlaubten zeichen drin ?


ist halt schwierig zu analysieren wenn wenig infos vorliegen
 

osion

Bekanntes Mitglied
gut ... nur um noch mal bezug zum eingangspost zu nehmen : du verwendest EINEN chooser (schon mal sub-optimal, aber nicht weiter tragisch da du ja nach jedem schritt den pfad in einer anderen variable speichern kannst) um verschiedene ORDNER auszuwählen

dabei tritt das problem auf das wenn du dich "durchklickst" alles funktioniert, wenn du aber den pfad per copy'n'paste reinkopierst es nicht passt

da erstmal die frage : was kommt denn als return zurück ? NULL ... also ob "nichts ausgewählt wurde" ... das was du reinkopiert hast ? ... was völlig anderes ?

wäre schon mal gut zu wissen um analysieren zu können was der chooser da macht

dann auch weiterhin : was machst du nach dem du den pfad reinkopiert hast ? drückst du dann enter noch im text-field oder klickst du mit der maus auf ok ? ... oder sogar über tab ?


und : ist der pfad den du reinkopierst dann überhaupt gültig zu dem der aktuell angezeigt wird ? sind es realtive oder absolute pfade ? irgendwelche nicht-erlaubten zeichen drin ?


ist halt schwierig zu analysieren wenn wenig infos vorliegen

Also ich habe das jetzt mal getestet und folgendes festgestellt:

Info: Jeder Pfad ist ein JFileChooser Ausgabe per Console
Standart das Problem auftaucht:

1. Pfad 1 wird ausgewählt (Ort des Ordners)
19146281ja.jpg


2 Pfad 2 wird ausgewählt speicherung der Datei
19146282hr.jpg


3.Pfad 3 wird ausgewählt (speicherung der File erfolgt nur wenn Option in der GUI aktiviert wurde)

  1. Wähle Pfad aus von Pfad 2
  2. Kopiere den Pfad welcher im JFileChooser angezeigt wird und füge ihn direkt wieder ein
  3. Ändere den Pfad (beispiel) von test1 zu test2 (per Tastatur)
  4. Enter

19146283vz.jpg


Ergebnis:
19146284un.jpg


Was er tun sollte: File in Pfad 3 verschieben


Ich habe noch eine Ausgabe per Console gemacht:

Ergebnis ist das Gleiche aber die Konsolenausgabe ist verschieden.

Pfad 3 JFileChooser per Enter Save
Pfad1 öffnen C:\Users\Downloads
Pfad2 speichern C:\Users\Downloads\test2
PFAD 3: null

Pfad 3 JFileChooser per Button Save
Pfad1 öffnen C:\Users\Downloads
Pfad2 speichern C:\Users\Downloads\test1
PFAD 3C:\Users\Downloads\test2
 
Zuletzt bearbeitet:

lawila

Gesperrter Benutzer
gut ... dann brauchen wir definitiv mal deinen code bzw ein kurzes beispiel bei dem der fehler auftritt ... weil wenn ich mir jetzt schnell n sample-code zusammen klicke dann funktioniert alles wie gewollt > fehler muss in deinem code stecken
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
B Probleme mit Zugriff auf Dateisystem Windows 10 ( jFileChooser) Java Basics - Anfänger-Themen 17
M Interface JFileChooser vergrößern Java Basics - Anfänger-Themen 4
V Mehrere Dateien aus JFileChooser in eine ArrayList speichern Java Basics - Anfänger-Themen 2
B JFileChooser und JList Java Basics - Anfänger-Themen 7
D Datei mit JFileChooser erstellen Java Basics - Anfänger-Themen 5
M Umgebungsvariable JFileChooser#setCurrentDirectory via Properties setzen? Java Basics - Anfänger-Themen 5
M JFileChooser Ordner auswählen Java Basics - Anfänger-Themen 5
E Bild per Verzeichnis/JFileChooser auf JPanel laden Java Basics - Anfänger-Themen 13
B JUnit für JFileChooser Java Basics - Anfänger-Themen 6
B FileWriter und JFileChooser zusammenfügen Java Basics - Anfänger-Themen 3
B Methoden JFileChooser und sein "Startverzeichnis" Java Basics - Anfänger-Themen 3
D JFileChooser & FileReader Java Basics - Anfänger-Themen 4
CR7 JFileChooser DateiÖffnen Java Basics - Anfänger-Themen 7
G JFileChooser "alle Dateien" unterbinden Java Basics - Anfänger-Themen 3
K Methoden JFileChooser Dateipfadübergabe Java Basics - Anfänger-Themen 5
S Wechselmedien in JFileChooser Java Basics - Anfänger-Themen 4
H speichern unter (JFileChooser) Java Basics - Anfänger-Themen 2
H JFileChooser... dateispeicherpfad selbst aussuchen Java Basics - Anfänger-Themen 4
M Bild aus URL via JFileChooser speichern Java Basics - Anfänger-Themen 10
D JFileChooser gewählte Datei "verwenden" Java Basics - Anfänger-Themen 2
I Probleme mit jFileChooser Java Basics - Anfänger-Themen 2
c_sidi90 Jfilechooser Problem Dateinamefeld Java Basics - Anfänger-Themen 11
D JFileChooser Java Basics - Anfänger-Themen 18
S JFileChooser - Dateinamen vorschlagen/Inhalt der Ausgabe prüfen Java Basics - Anfänger-Themen 3
Z JFileChooser/ Panel + Menüproblem Java Basics - Anfänger-Themen 3
Z CSV-Datei einlesen mit dem JFileChooser !!! Java Basics - Anfänger-Themen 5
A JFileChooser - ungefragtes überschreiben Java Basics - Anfänger-Themen 12
I (JFileChooser)Wie kann eine Jar auf Dateien eines bestimmten Ordners zugreifen? Java Basics - Anfänger-Themen 9
W JFileChooser - Eingebbare Zeichen begrenzen Java Basics - Anfänger-Themen 3
T Standardordner für JFileChooser festlegen Java Basics - Anfänger-Themen 2
R jFileChooser aus main- Programm aufrufen Java Basics - Anfänger-Themen 3
G Mehrere Dateien mit JFilechooser auswählen und öffnen. Java Basics - Anfänger-Themen 6
B Wie Dateitypauswahl in JFileChooser Opendialog begrenzen? Java Basics - Anfänger-Themen 2
M JFileChooser Dateityp vorbelgen Java Basics - Anfänger-Themen 3
G Mit jFileChooser Pfad rauskriegen? Java Basics - Anfänger-Themen 3
A JFileChooser soll sich letzten ordner merken Java Basics - Anfänger-Themen 4
D Vorschau bei jfilechooser? Java Basics - Anfänger-Themen 3
G JFileChooser - Change Icon Problem! Java Basics - Anfänger-Themen 2
J Wait_Cursor beim JFileChooser? Java Basics - Anfänger-Themen 8
G JFileChooser übergabe an Directory Java Basics - Anfänger-Themen 4
X JFileChooser Auswahl Java Basics - Anfänger-Themen 4
A JFileChooser DefaultDirectorie Java Basics - Anfänger-Themen 7
G jFileChooser speichern + Fehlermeldung Java Basics - Anfänger-Themen 10
S JFileChooser konfigurieren Java Basics - Anfänger-Themen 6
M JFileChooser, Nur im C:Programme Java Basics - Anfänger-Themen 5
A JFileChooser Darstellung Java Basics - Anfänger-Themen 3
G jFileChooser auf den Abbrechen-Button reagieren Java Basics - Anfänger-Themen 3
R JFileChooser hängt java Programm auf Java Basics - Anfänger-Themen 6
S JFileChooser öffnet Unterverzeichnisse sehr langsam Java Basics - Anfänger-Themen 2
O JFileChooser Filter an Dateinamen hängen Java Basics - Anfänger-Themen 4
G speichern mit JFileChooser Java Basics - Anfänger-Themen 2
G jFileChooser Java Basics - Anfänger-Themen 8
G JFileChooser - Anzeige beschleunigen Java Basics - Anfänger-Themen 2
G JFileChooser kommt doppelt Java Basics - Anfänger-Themen 3
2 JFileChooser- Dateien nur als bestimmte Formate speichern Java Basics - Anfänger-Themen 4
E JFileChooser -> Verzeichnis setzen Java Basics - Anfänger-Themen 10
E JFileChooser- Dateiname Feld? Java Basics - Anfänger-Themen 2
B JFileChooser problem Java Basics - Anfänger-Themen 3
N immer als *.xml speichern (jfilechooser) Java Basics - Anfänger-Themen 2
P Problem mit JFileChooser und FileFilter Java Basics - Anfänger-Themen 8
D Pfad-Auswahl mit dem JFileChooser Java Basics - Anfänger-Themen 8
H JFileChooser Problem Java Basics - Anfänger-Themen 3
B JFileChooser Abfrage für Datei speichern Java Basics - Anfänger-Themen 3
G Jfilechooser ordner auswählen? Java Basics - Anfänger-Themen 2
D JFileChooser Darstellung ändern? Java Basics - Anfänger-Themen 4
G JFileChooser EventListener auf Öffnen Button Java Basics - Anfänger-Themen 3
J NetBeans und JFileChooser Java Basics - Anfänger-Themen 4
M JFileChooser Überschreiben Dialog? Java Basics - Anfänger-Themen 2
M JFileChooser - Dateiendung vorgeben? Java Basics - Anfänger-Themen 13
G JFileChooser - Datei speichern Java Basics - Anfänger-Themen 9
P JFileChooser soll nur .txt files anzeigen Java Basics - Anfänger-Themen 5
P JFileChooser: Methode: setCurrentDirectoy (File Dir) gehtNet Java Basics - Anfänger-Themen 2
F JFileChooser Java Basics - Anfänger-Themen 33
S BufferedReader (JFileChooser) Java Basics - Anfänger-Themen 2
H JFileChooser - FileFilter Java Basics - Anfänger-Themen 2
T neue Instanz von JFileChooser => applikation friert ein Java Basics - Anfänger-Themen 2
B JFileChooser <-> FileDialog Java Basics - Anfänger-Themen 4
S FileDialog/ JFileChooser, Bilder laden, Dateifilter, Diashow Java Basics - Anfänger-Themen 8
B JFileChooser für Files and Directories Java Basics - Anfänger-Themen 3
S Probleme mit JFileChooser! Java Basics - Anfänger-Themen 4
M JFileChooser Directory setzen Java Basics - Anfänger-Themen 6
M JFileChooser Rückgabewert Java Basics - Anfänger-Themen 2
T JFileChooser für Ordner Java Basics - Anfänger-Themen 7
S Größe einer Datei, JFileChooser Java Basics - Anfänger-Themen 5
G Frage zum jFileChooser.showSaveDialog Java Basics - Anfänger-Themen 2
J JFileChooser Java Basics - Anfänger-Themen 4
R Datentypen Das Verhalten von Strings als Datentypen Java Basics - Anfänger-Themen 7
MarvinsDepression Operatoren Verhalten von BitShiftOperatoren Java Basics - Anfänger-Themen 2
G Merkwürdiges Verhalten der Maven IDE Java Basics - Anfänger-Themen 3
D Unerwartetes Verhalten bei Client Server Chat App Java Basics - Anfänger-Themen 12
B Programm beendet sich nicht und weiteres seltsames Verhalten Java Basics - Anfänger-Themen 9
G unklares Verhalten nach Instanzierung neuer Klasse Java Basics - Anfänger-Themen 3
MiMa Seltsames Verhalten im Konstruktor Java Basics - Anfänger-Themen 6
M Komisches Verhalten der Variablen Java Basics - Anfänger-Themen 6
K Klassen Eclipse Verhalten bei Klassen Java Basics - Anfänger-Themen 16
M Verhalten von LocalDateTime#getNano() Java Basics - Anfänger-Themen 1
T Objekte mit Verhalten Java Basics - Anfänger-Themen 14
D Klassen Verhalten von Klassenvererbung bei Variablen Java Basics - Anfänger-Themen 1
D Seltsames Verhalten... Java Basics - Anfänger-Themen 5
S Verhalten von JTextField in einem JTabbedPane (Register) Java Basics - Anfänger-Themen 6

Ähnliche Java Themen

Neue Themen


Oben