Ich hoffe mein Titel ist nicht total.. dämlich.. , ich wusste es nicht anders zu beschreiben.
Ich möchte gern eine Operation auslagern bzw. parallel laufen lassen, damit sie nicht alles andere "aufhält" wie ein 50er Fahrer auf der Überholspur. Und zwar habe ich eine Operation, die sich die Laufwerksbuchstaben des System holt und diese in eine ComboBox füllt. Leider brauch genau diese Operation ziemlich lange, sprich etwas 5-6-7 Sekunden, bis sie anläuft und dann ist sie ganz schnell. Leider lässt sich das Panel (das bei Klick auf den Button sichtbar gemacht wird) so lange zeit, bis die ComboBox fertig ist.
Hier die Suchfunktion, hatte schon im Internet gelesen das die nicht nur bei mir langsam ist^^
Ich habe überlegt, das man sie irgendwie so laufen lässt, das die ComboBox schon erstellt (leer) aber auf "setVisible(flase)" gesetzt ist und während das Panel schon angezeigt ist, die ComboBox im Hintergrund per "addItem" gefüllt und dann einfach nur sichtbar gemacht wird.
Jedoch bin ich irgendwie zu doof die Operation so zu lagern, das nicht auf sie gewartet wird.
Hat vielleicht jemand eine Idee oder ein Beispiel?
Ich möchte gern eine Operation auslagern bzw. parallel laufen lassen, damit sie nicht alles andere "aufhält" wie ein 50er Fahrer auf der Überholspur. Und zwar habe ich eine Operation, die sich die Laufwerksbuchstaben des System holt und diese in eine ComboBox füllt. Leider brauch genau diese Operation ziemlich lange, sprich etwas 5-6-7 Sekunden, bis sie anläuft und dann ist sie ganz schnell. Leider lässt sich das Panel (das bei Klick auf den Button sichtbar gemacht wird) so lange zeit, bis die ComboBox fertig ist.
Hier die Suchfunktion, hatte schon im Internet gelesen das die nicht nur bei mir langsam ist^^
Code:
public JComboBox rootBox() {
JComboBox Box = new JComboBox();
for ( File root : froots )
if (root.exists()) {
Box.addItem(root.getPath());
}
else {
}
return Box;
}
Jedoch bin ich irgendwie zu doof die Operation so zu lagern, das nicht auf sie gewartet wird.
Hat vielleicht jemand eine Idee oder ein Beispiel?