JFileChooser ist sehr langsam

Tommy135

Aktives Mitglied
Hallo Community,

Ich habe schon wieder ein Problehm jedoch ist das etwas komplizierter. Wie im Titel schon beschrieben ist mein Problehm das der JFileChooser sehr langsam öffnet und ich weiß nicht warum. Ich nutz JDK 14 habe es jedoch auf einer externen festplatte liegen. Darunter finden sich auch noch Version von JDK 1.6 bis 1.14. Das war bis her nie ein Problehm die Programme starten auch ganz normal, nur wenn ich den JFileChooser öffner kommt es zu längeren Wartezeiten, auch das wechseln von verzeiniessen im JFileChooser wird da zu einer Qual. Die Beiträge die ich gefunden hatte waren was älter und bezogen sich auf JDK 1.6 jedoch nutze ich JDK 1.14 mit maven. Falls jemand da eine Idee hat wo ran es liegen könnte wäre ich sehr Dankbar. Meine System ist wie folgt:

Betriebsystem: Win10 x64
Processor: Intel Core i5-72004 Kerne
Arbeitsspeicher: 8GB
Java Version: JDK 14
IDE: NetBeans 3.0
Maven: 3.6.3

Vielen Dank schon mal im vorraus

Mit freundlichen Grüßen

Tommy135
 

mihe7

Top Contributor
Mach mal ein minimales, kompilier- und ausführbares Beispiel fertig, bei dem das Problem bei Dir (gerade noch) auftritt.
 

Tommy135

Aktives Mitglied
Java:
public class Test {
    public void main(String[] args) {
        FileNameExtensionFilter TheCatColorFile = new FileNameExtensionFilter("The Cat Color File", "tccolor");
        JFileChooser jfc = new JFileChooser();
        jfc.setAcceptAllFileFilterUsed(false);
        jfc.setFileFilter(TheCatColorFile);

        int i = jfc.showOpenDialog(null);

        if (i == JFileChooser.APPROVE_OPTION) {
            //Hier kommt dann nur der Teil zum lesen der Datei.
        }
    }
    
}

So ist der Aufbau im kleinen Style wo das Problehm auftrit.
 

M.L.

Top Contributor
Zum Vergleich (wobei sich in keinem Fall ein langsames Öffnen und Arbeiten mit JFileChooser hat feststellen lassen. Es kann sein, dass Java 14, Windows 10 (irgendein optischer oder verwaltungstechnischer Vorgang) oder ein anderer aktiver Prozess bremsende Faktoren sind)
Betriebsystem: Win7 x64
Processor: Intel Core i5-2 Kerne
Arbeitsspeicher: 6GB
Java Version: JDK 8, 10, Open JDK 12
IDE: NetBeans 8.2 + Java 8, IntelliJ CE 2018+ OpenJDK 12, Kommandozeile + Java 10
 

looparda

Top Contributor
Ich konnte ähnliches vor kurzem feststellen in einer älteren Swing Anwendung bei der Auswahl einer Datei.
Ich habe Java 1.8 und 11 drauf und kann nicht genau sagen mit welchem ich die Applikation ausgeführt habe (Windows 10x64).
Ich habe eine Reihe alter Projekte für eine Recherche angeschaut und kann mich leider nicht mehr erinnern bei welchem das Problem auftrat. Einige davon musste ich auch mit Netbeans öffnen, meist habe ich aber IntelliJ genutzt (somit leider die nächste Variable). Ich versuche es aber herauszufinden.
Das Minimalbeispiel macht bei mir so keine Probleme mit Java 1.8.
 

looparda

Top Contributor
Ich bin mir wieder ziemlich sicher, dass ich das Problem mit spotbugs-3.1.12 hatte (https://repo.maven.apache.org/maven2/com/github/spotbugs/spotbugs/3.1.12/spotbugs-3.1.12.zip). Im bin Ordner die spotbugs.bat ausführen. Datei > Neues Projekt und dann Hilfsklassen auswählen. Ich hab gelesen, dass es in der Vergangenheit Bugs gab, wenn Netzlaufwerke verbunden waren (gerade mit Netzlaufwerk getestet), Dateikomprimierung (NTFS-Kompression) aktiv ist (war damals aktiv, jetzt nicht mehr) oder ein Verzeichnis mit vielen Archiven geöffnet wird (gerade getestet). Allerdings tritt das Problem heute nicht auf mit Java 1.8 und 11.
Bleibt theoretisch nur Dateikomprimierung. Hast du das aktiv?
 

Tommy135

Aktives Mitglied
Ich bin mir wieder ziemlich sicher, dass ich das Problem mit spotbugs-3.1.12 hatte (https://repo.maven.apache.org/maven2/com/github/spotbugs/spotbugs/3.1.12/spotbugs-3.1.12.zip). Im bin Ordner die spotbugs.bat ausführen. Datei > Neues Projekt und dann Hilfsklassen auswählen. Ich hab gelesen, dass es in der Vergangenheit Bugs gab, wenn Netzlaufwerke verbunden waren (gerade mit Netzlaufwerk getestet), Dateikomprimierung (NTFS-Kompression) aktiv ist (war damals aktiv, jetzt nicht mehr) oder ein Verzeichnis mit vielen Archiven geöffnet wird (gerade getestet). Allerdings tritt das Problem heute nicht auf mit Java 1.8 und 11.
Bleibt theoretisch nur Dateikomprimierung. Hast du das aktiv?

Ja die Dateien Komprimierung ist Aktiv. Jedoch enthält der Ordner in dem ich aus führe keine Archive und mit Netzlaufwerken habe ich derzeit nicht viel am hut.
 

krgewb

Top Contributor
@Tommy135 Wenn ein Ordner komprimiert ist, erkennt man das an dem blauen Symbol oben rechts. Das sind zwei Pfeile, die aufeinander zeigen.

@mihe Das Wechseln des Verzeichnisses im JFileChooser geht bei ihm auch sehr langsam.
 

mihe7

Top Contributor
Sorry, habe ganz vergessen, den Spaß zu testen. @Tommy135 kannst Du mal im Taskmanager schauen, ob es Prozesse gibt, die beim Verzeichniswechsel viel CPU benötigen?
 

Blizzsnake80

Mitglied
Hey, hallo zusammen.

Ich habe das gleiche Problem:

Ich konnte bislang nicht feststellen, woran dieses verzögerte Verhalten liegen könnte.
 

Neumi5694

Top Contributor
Ich hatte das Problem mit dem Windows Look and Feel und zwar beim Laden der Dateiicons. JFC kann da sehr langsam sein, besonders auf Netzwerklaufwerken.

Ich hab dann als Lösung den View überschrieben und nur noch ein selbst definiertes Icon für den Typ anzeigen lassen, der für mich relevant war, alle anderen haben das Standard-Icon erhalten - also ohne auf die Methoden zuzugreifen, die das Icon aus dem Betriebssystem auslesen.
Damit ging alles ratzfatz.


ps: Irgendwas scheint Java da allerdings zu cachen. Ich hatte den oben geposteten Code so geändert, das "All files" sichtbar ist, hab ein Verzeichnis mit ca. 1200 Dateien verschiedenster Art gewählt. Das Programm hab ich dann mit aktivem Filter gestartet und hab dann nach "All FIles" umgeschaltet.
Beim ersten Aufruf des Programms gab es beim Umschalten nach "all files" eine ziemliche Verzögerung, mehrere Sekunden.
Beim zweiten Aufruf des Programms ging's mit minimaler Verzögerung.
d.h. der Cache oder was auch immer den Unterschied gemacht hat, blieb auch über mehrere Aufrufe hinweg erhalten.
Ich vermute mal, wenn ich mein Temp-Verzeichnis leere, ist's beim nächsten Mal wieder verzögert.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
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
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