Ich versuche mich gerade mit dem JFileChooser anzufreunden.
Mein Kunden wollen einen Pfad eingeben können - soweit kein Problem, aber die lieben Leute arbeiten gerne mit der Tastatur und geben den Pfad von Hand ein - auch das ist kein Problem, aber ich möchte die Anzeige fortlaufend anpassen - also bei jedem einzelnen Tastendruck.
Obere Hälfte des Bildes:
Nach Doppelklick auf "test" sollte im Feld Dateiname der Pfad immer mit einem / ergänzt sein um die Handeingabe zu erleichtern.
Untere Hälfte:
Es sollte nur noch "data" sichtbar sein, weil ein "d" eingebeben wurde.
Grenzen die beiden Vorstellungen an ein Reengineering des JFileChoosers oder kann ich das mit etwas weniger Aufwand realisieren? Wie denn konkret?
Falls es wem was bringt ;-)
Mein Kunden wollen einen Pfad eingeben können - soweit kein Problem, aber die lieben Leute arbeiten gerne mit der Tastatur und geben den Pfad von Hand ein - auch das ist kein Problem, aber ich möchte die Anzeige fortlaufend anpassen - also bei jedem einzelnen Tastendruck.
Obere Hälfte des Bildes:
Nach Doppelklick auf "test" sollte im Feld Dateiname der Pfad immer mit einem / ergänzt sein um die Handeingabe zu erleichtern.
Untere Hälfte:
Es sollte nur noch "data" sichtbar sein, weil ein "d" eingebeben wurde.
Grenzen die beiden Vorstellungen an ein Reengineering des JFileChoosers oder kann ich das mit etwas weniger Aufwand realisieren? Wie denn konkret?
Falls es wem was bringt ;-)
Java:
import java.io.File;
import javax.swing.*;
import javax.swing.filechooser.FileFilter;
public class JFileChooserDemo {
public static void main( String[] args ) {
JFileChooser fc = new JFileChooser("/");
fc.setDialogTitle("Pfadauswahl");
fc.setName("Name");
fc.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
fc.setFileFilter( new FileFilter() {
@Override public boolean accept( File f ) {
// tja - hier müsste die aktuelle Eingabe rein ...
return true;
}
@Override public String getDescription() {
return "Texte";
}
});
while(true) {
int state = fc.showOpenDialog( null );
if ( state == JFileChooser.APPROVE_OPTION ) {
System.out.println("getCurrentDirectory() : " + fc.getCurrentDirectory());
System.out.println("getSelectedFile() : " + fc.getSelectedFile());
} else {
System.out.println( "Auswahl abgebrochen. State = " + state);
System.exit( 0 );
}
}
}
}