JFileChooser breite der Spalten?

bladepit

Bekanntes Mitglied
Hallo an alle,

ist es möglich bei dem JFileChooser die Größe der Spalten die angezeigt wird zu beeinflußen oder vll auch Spalten auszublenden? Ich finde da leider keine Option.

Habe auch durch nen "Hack" erst erreichen können das die Darstellung von Liste auf Details ist sodass alle Elemente in dem Ordner untereinander stehen. Jetzt würde ich da halt gerne die Spalte "Name" ganz breit haben.

Gruß

bladepit
 

bladepit

Bekanntes Mitglied
Das ist nicht so ganz das was ich Suche. Bin aber schon mal durch ausprobieren was weiter gekommen:

Java:
  JFileChooser fc = new JFileChooser(".");
  JTable tbl = findJTable(fc.getComponents())

  private final static JTable findJTable(Component[] comp) {
        for (int i = 0; i < comp.length; i++) {
            if (comp[i] instanceof JTable) {
                return (JTable) comp[i];
            }
            if (comp[i] instanceof Container) {
                JTable tbl = findJTable(((Container) comp[i]).getComponents());
                if (tbl != null) {
                    return tbl;
                }
            }
        }
        return null;
    }

Dies war eine Lösung die ich gefunden habe. Jedoch kriege ich nie eine Komponente vom Typ JTable. Es gibt in dem FileChooser jede Menge Buttons und Labels (die über und unter der Tabelle) aber die JTable find ich nicht. Innerhalb der ScrollPane und des Viewports gibt es eine FilePane. Aber die enthält auch kein JTable ???:L

Wo is das JTable...:) die große Frage.
 

Annoraaq

Mitglied
Hallo zusammen,

sorry dass ich diesen Thread wieder ausgrabe, aber ich habe das gleiche Problem. Ich muss an die JTable des JFileChoosers. Ich bin auch rekursiv alle Components durchgegangen und bekomme ebenfalls kein JTable-Objekt wieder. Eventuell hat der Ersteller dieses Threads mittlerweile eine Lösung gefunden?

LG
Annoraaq
 

Annoraaq

Mitglied
Hallo nochmal,

nach vielen Stunden des Probierens und der Recherche habe ich es geschafft. Erstmal die Erklärung und unten dann der Code.

Das JFileChooser-Objekt enthält ein Objekt der schlecht Dokumentierten Klasse FilePane. Dieses Objekt erhält man einfach indem man über die Components des JFileChooser-Objekts iteriert und mit instanceof auf FilePane prüft. Glücklicherweise habe ich eine Website gefunden auf der der Quelltext von FilePane vorzufinden war (leider ohne Kommentare und mit vielen internen Klassen und privaten Variablen). Jedenfalls gibt es in diesem Objekt zum einen die Möglichkeit den ViewType auf DetailsView zu setzen und andererseits die Möglichkeit, sich mit einem kleinen Umweg das JTable-Objekt zurückgeben zu lassen. Zuerst müssen wir uns dazu das JPanel holen, welches das JTable-Objekt enthält. Das müssen wir aufgrund der seltsamen private/public-Politik der Verfasser über die Methode createDetailsView() machen. Danach iterieren wir über die Objekte in diesem JPanel und prüfen mit instanceof auf ein JScrollPane. Aus diesem holen wir uns dann endlich mit getViewport().getView() das JTable-Objekt. Meiner Meinung nach hätte man auch einfach eine Methode für diesen Zweck zum JFileChooser hinzufügen können, aber naja...
Ich kann ja akzeptieren, dass der JFileChooser nur für einfache Dateiauswahl gedacht ist und man für komplizierte Zwecke lieber einen eigenen Dialog erstellt, allerdings könnte man den Zugriff auf die sowieso schon enthaltenen Elemente vereinfachen.

Java:
   /**
     * Holt das JTable-Objekt aus einem FileChooser
     * 
     * @param c
     * @return
     */
    private JTable getJTable(JFileChooser fileChooser) {
        JScrollPane sp = getJScrollPane(fileChooser.getComponents());
        JTable table = (JTable) sp.getViewport().getView();
        
        return table;
    }
    
    /**
     * Durchsucht ein Component-Array nach einem JScrollPane
     * 
     * @param c
     * @return 
     */
    private JScrollPane getJScrollPane(Component[] c) {
        FilePane fp = getFilePane(c);
        JScrollPane sp = null;
        
        if (fp != null) {
            JPanel p = fp.createDetailsView();
            Component[] cp = p.getComponents();
            
            for (int i=0; i<cp.length; i++) {
                if (cp[i] instanceof JScrollPane) {
                    sp = (JScrollPane) cp[i];
                }
            }
        }
        
        return sp;
    }
    
    /**
     * Durchsucht ein Component-Array nach einem FilePane
     * 
     * @param c
     * @return 
     */
    private FilePane getFilePane(Component[] c) { 
        for (int i=0; i<c.length; i++) {
            if (c[i] instanceof FilePane) {
                return (FilePane) c[i];
            }
        }
        return null;
    }
 
Ä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
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
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