Когда моя программа запускается, мой JProgressBar запускается так, как я хочу, и показывает ход загрузки моей программы, но у меня есть функция перезапуска для базы данных, и я должен использовать dispose () для сброса всех компонентов и, таким образом,перезагрузка всех компонентов.
Процесс перезапуска точно такой же, как и при запуске, но в этом случае JProgressbar вообще не загружается (просто пустое окно), весь класс не хочет работать.
a через приведенный ниже код: оператор If проверяет, существует ли файл базы данных, оттуда он загружает класс индикатора выполнения и устанавливает максимальные параметры и значения i.Когда база данных и графический интерфейс загружаются, она увеличивает значение индикатора выполнения, а когда графический интерфейс завершает загрузку, она использует dispose (), чтобы закрыть окно, используемое JProgressBar.Продолжается, что если его там нет, он перезапустит его с новым JProgressBar.
Что я знаю, так это то, что когда он загружается в первый раз, он будет работать.НО, когда мне нужно это во второй раз, это терпит неудачу.Даже если я сбрасываю значения, он все равно не хочет работать.
GUIBackEnd()
{
if(ec.hasDatabase())
{
pbc = new ProgressBarController(23, "Initializing E.M.M.A.", true);
pbc.setProgressText("Start-up");
update();
pbc.increaseBar();
pbc.setProgressText("Loading Equipment");
equipmentData = ec.viewEquipment();
pbc.increaseBar();
pbc.setProgressText("Loading Customers");
customerData = cc.viewCustomer();
pbc.increaseBar();
pbc.setProgressText("Loading Services");
serviceData = mc.viewService();
pbc.increaseBar();
pbc.setProgressText("Loading GUI");
frameGen();
pbc.dispose();
}
else
{
JOptionPane.showMessageDialog(null, "Main database was not found. \nE.M.M.A. will attempt to load the backup...", "WARNING",
JOptionPane.WARNING_MESSAGE);
String feed = ec.loadMainBackup();
JOptionPane.showMessageDialog(null, feed, "Loading",
JOptionPane.INFORMATION_MESSAGE);
if(!EquipmentController.hasLoaded)
{
JOptionPane.showMessageDialog(null, EquipmentController.mainLoaded, "RESTART", JOptionPane.PLAIN_MESSAGE);
restartGUI(true);
}
else
{
pbc = new ProgressBarController(23, "Initializing E.M.M.A.", true);
pbc.setProgressText("Start-up");
update();
pbc.increaseBar();
pbc.setProgressText("Loading Equipment");
equipmentData = ec.viewEquipment();
pbc.increaseBar();
pbc.setProgressText("Loading Customers");
customerData = cc.viewCustomer();
pbc.increaseBar();
pbc.setProgressText("Loading Services");
serviceData = mc.viewService();
pbc.increaseBar();
pbc.setProgressText("Loading GUI");
frameGen();
pbc.dispose();
}
}
}
Что мне нужно от этого, так это то, что я должен иметь возможность вызывать JProgressBar в любое время во время выполнения программы и показыватьПользователь продвигается программой во время работы в фоновом режиме ... Причина в том, что по мере роста базы данных или после завершения импорта требуется время, и программа должна показать, что она работает над задачей, а не просто работает вхолостую..