[Lösung]Hohe Systemauslastung bei JFileChooser auf WindowsXP

Status
Nicht offen für weitere Antworten.

Verjigorm

Top Contributor
Hallo,

ich dachte ich schreibe mal etwas ausführlicher hierrein, vielleicht interessiert es ja irgendwen.

Das generelle Problem war:
Java.exe zeigt beim Start 100% Systemauslastung, das ausgeführte Javaprogramm brauchte 10-15sek zum Starten.
(nachzulesen: http://www.java-forum.org/de/viewtopic.php?t=73102&highlight= )

Nun bin ich heute endlich dahintergekommen woran es liegt:
An einem Bug der Auftritt zwischen WindowsXP und dem JFileChooser
und zwar nur dann, wenn sich auf dem WindowsXP-Desktop zip's oder rar's mit vielen Elementen befinden.

Der Bug wird hier beschrieben:
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6372808

Kurze Rede langer Sinn:

Lösung1: Zip's/Rar's vom Desktop entfernen (kann man bei nem Kunden oft schlecht kontrollieren)

Lösung 2: Im JFileChooser folgenden Befehl in die überschriebene updateUI einfügen:

@Override
public void updateUI()
{
putClientProperty("FileChooser.useShellFolder", Boolean.FALSE); //<---- VOR super.updateUI() einfügen!
super.updateUI();
}

Ich hatte 2-3 Zips (je 1-3mb) auf dem Desktop liegen -> Startdauer 8-15 Sekunden
Zip's entfernt -> Startdauer ~1,5 sek!
genauso mit dem überschreiben der updateUI() ....

sehr strange sage ich euch!

mfg Verjigorm
 
S

SlaterB

Gast
was meinst du mit 'im JFileChooser'?
und wo soll man den Code hinzufügen?

tritt das nur bei Programmen mit eigener JFileChooser-Klasse auf?
 

Verjigorm

Top Contributor
Das Problem tritt immer auf, nicht nur bei eigenen Klassen, die JFileChooser erweitern.
Beispiel mit einigen zip's aufm Desktop:

Haben das grade mal auf mehreren Rechnern getestet.

edit: Achso, das Problem betrifft nur Java 6 (siehe bugreport oben)

Code:
import javax.swing.JFileChooser;

public class BugTest {

	/**
	 * @param args
	 */
	public static void main(String[] args) 
	{
		new JFileChooser();
		System.out.println("fertig nach " + (System.currentTimeMillis() - start));
	}

}

Dauer: 2,8 - 8,6 Sekunden

Code:
import javax.swing.JFileChooser;

public class BugTest {

	/**
	 * @param args
	 */
	public static void main(String[] args) 
	{
		long start = System.currentTimeMillis();
		new JFileChooser() 
		{
			@Override
			public void updateUI() 
			{
				putClientProperty("FileChooser.useShellFolder", Boolean.FALSE);
				super.updateUI();
			}
		};
		
//		new JFileChooser();
		System.out.println("fertig nach " + (System.currentTimeMillis() - start));
	}

}

Dauer: 0,32 - 0,65 Sekunden
 

Wildcard

Top Contributor
Hättest du das Forum aufmerksam gelesen... Vor ein Paar Tagen habe ich jemandem diese Frage beantwortet :wink:
 
S

SlaterB

Gast
ich frage mich ja vor allem, obs auch bei

Code:
public class BugTest { 

   /** 
    * @param args 
    */ 
   public static void main(String[] args) 
   { 
      System.out.println("fertig nach " + (System.currentTimeMillis() - start)); 
   } 

}
auftritt
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
Karl_Der_Nette_Anfänger Hat wer ne Lösung für verknüpfte Postleitzahlen? (Baum/Wurzel Struktur) Allgemeine Java-Themen 11
temi Lösung zum Speichern von Deltafiles Allgemeine Java-Themen 6
M Hamstersimulator- lösung Allgemeine Java-Themen 3
B Klassen Objekt erzeugen und Konstruktor aufrufen - Welche Lösung ist besser? Allgemeine Java-Themen 2
E Methoden Hat jemand eine gute Lösung? Allgemeine Java-Themen 5
A Implementierung eines Algorithmus (Farthest Insertion zur Lösung des TSP) in O(n²) Allgemeine Java-Themen 2
N Static oder andere Lösung Allgemeine Java-Themen 5
TheWhiteShadow Reflection-Lösung für Objektkopien Allgemeine Java-Themen 3
B Datentypen wav Dateien abspielen mit JMF, Clip und Player klappt nicht. Lösung Codec? Allgemeine Java-Themen 13
J [SWING]Elegante Java Formular Lösung? XML? Allgemeine Java-Themen 4
W Saubere Lösung für das Auslesen einer Html Seite (Mehrsprachigkeit) Allgemeine Java-Themen 5
Private Void rekursive vs. iterative Lösung für Berechnung der Fakultät Allgemeine Java-Themen 12
D Lösung Differentialgl. mit RungeKutta + Kurve zeichnen Allgemeine Java-Themen 3
S große CSV-Dateien Importieren. Beste Lösung ?! AWS,S3,Hadoop!? Allgemeine Java-Themen 4
J Welche Lösung für Servlets und JSPs in Eclipse? Allgemeine Java-Themen 5
hdi Häufige Fehler und deren Lösung Allgemeine Java-Themen 4
G Speichern von Dateien - Lösung bei JNLP? Allgemeine Java-Themen 8
T Ist IAdaptable die richtige Lösung? Allgemeine Java-Themen 4
T Unbekannte Fehlermeldung + Lösung? Allgemeine Java-Themen 4
K Elegante Lösung zum Manipulieren von Collections gesucht Allgemeine Java-Themen 16
S Problem! Lösung mit Double buffering Allgemeine Java-Themen 3
H if - else if-else bessere Lösung gesucht Allgemeine Java-Themen 4
B Elegantere Lösung bei der Implementierung eines Interfaces Allgemeine Java-Themen 2
V Lösung mit iText gesucht. Allgemeine Java-Themen 2
G Was wäre am einfachsten bzw. die beste Lösung? Allgemeine Java-Themen 6
P Java TrayIcon erzeugt hohe Systemauslastung Allgemeine Java-Themen 5
T Frage zur Systemauslastung Allgemeine Java-Themen 8

Ähnliche Java Themen

Neue Themen


Oben