Мой проект следует следующему алгоритму:
Я хочу использовать swingworker. Вот как я его использую, но результаты не правильные
В моем коде GUI мой код предназначен для выполнения основного класса
Я написал следующие строки кода в коде кнопок
Main f2 = new Main();
f2.execute();
В моем основном классе я сделал это
class Principalclass extends SwingWorker<Void, Void>
{
@Override
public Void doInBackground() throws IOException
{
//while loop
}
@Override
public void done() {
System.out.println("I am DONE");
GUI b = new GUI();
b.ShowFrame(); //calls the function of the GUI to display frame
}
Теперь этот код без печати «Я СДЕЛАН» отображает фрейм графического интерфейса. Я сбит с толку, если мне нужно внести некоторые изменения в классы 2,3 и 4, потому что я использую Swingworker или если мне нужно внести дальнейшие изменения только в основной класс. Во-вторых , приложение, которое должно занять 15 минут, чтобы выполнить свою задачу, это занимает всего 2 секунды :(. Может быть, я делаю что-то серьезно неправильно, потому что я впервые использую Swing Worker.