Hallo allerseits,
ich habe einen ActionListener für eine JComboBox.
Beim Auswählen eines der Items wird ruft der Listener ein externes Skript als Prozess auf und wartet mit p.waitFor() auf dessen Ende.
Während dieser Wartezeit freezed nicht nur die GUI sondern auch die Bedienbarkeit des gesamten Systems (Ubuntu). Tastatureingaben (Ausnahme: ALT-Taste) und Bedienung per Maus sind nicht mehr möglich. Währenddessen bleibt die JComboBox offen.
Erst nach 3 Minuten - so lange dauert die Ausführung des externen Skripts - geht alles wie gewohnt.
Leider werden die Ergebnisse des externen Skripts im ActionListener für den weiteren Ablauf benötigt, sodass ich das p.waitFor() brauche.
Wieso blockiert der JAVA-Prozess in dieser Situation das ganze System?
Was kann man tun um das Problem zu umgehen?
Viele Grüße
Apotekarnes
ich habe einen ActionListener für eine JComboBox.
Beim Auswählen eines der Items wird ruft der Listener ein externes Skript als Prozess auf und wartet mit p.waitFor() auf dessen Ende.
Während dieser Wartezeit freezed nicht nur die GUI sondern auch die Bedienbarkeit des gesamten Systems (Ubuntu). Tastatureingaben (Ausnahme: ALT-Taste) und Bedienung per Maus sind nicht mehr möglich. Währenddessen bleibt die JComboBox offen.
Erst nach 3 Minuten - so lange dauert die Ausführung des externen Skripts - geht alles wie gewohnt.
Leider werden die Ergebnisse des externen Skripts im ActionListener für den weiteren Ablauf benötigt, sodass ich das p.waitFor() brauche.
Wieso blockiert der JAVA-Prozess in dieser Situation das ganze System?
Was kann man tun um das Problem zu umgehen?
Viele Grüße
Apotekarnes