/ / Jak mogę otworzyć kolejną jframe z innej funkcji jframe bez czekania na zakończenie wykonywania funkcji? - Jawa, huśtawka

Jak mogę otworzyć kolejną jframe z innej funkcji jframe bez czekania na zakończenie wykonywania funkcji? - Jawa, huśtawka

Chcę pokazać pasek postępu. Położyłem kod, aby otworzyć JFrame zawierający pasek postępu na początku funkcji. Ale pasek postępu otwiera się dopiero po zakończeniu wykonywania funkcji

public void function(){
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new ProgressSearch().setVisible(true);
}
});

instruction 1;
instruction 2;
instruction 3;
instruction 4;
instruction 5;
}

powyższy kod wyświetla jedynie pasek postępu po zakończeniu funkcji

Odpowiedzi:

0 dla odpowiedzi № 1

Spróbuj dodać statyczne "pola postępu" do swojej klasy. Następnie zaktualizuj te pola, gdy tworzona jest twoja ramka JFrame, i pobieraj ich wartości z kodu przy użyciu Class.StaticField

na przykład.,

public class MyClass {
public static PROGRESS;
public MyClass () {...}
(...)
PROGRESS = (...);
(...)
PROGRESS = (...);
(...)
}

i dostać MyClass.PROGRESS

Ponadto, nie zapomnij zresetować zmiennej PROGRESS po pełnym zakończeniu, aby za każdym razem, gdy tworzysz inną ramkę JFrame z tej samej klasy, uzyskasz czysty postęp od 0.

Pozdrowienia,