import javax.swing.JProgressBar;
import javax.swing.JScrollPane;
import javax.swing.JTable;
+import javax.swing.SwingUtilities;
import javax.swing.UIManager;
import javax.swing.table.AbstractTableModel;
import javax.swing.table.DefaultTableCellRenderer;
// Discoverer buttons action listeners
private ActionListener refreshServicesAction = (ActionEvent e) -> {
+ progressBar.setVisible(true);
new Thread(() -> {
- progressBar.setVisible(true);
Cache.log.info("Requesting service reload");
- Desktop.instance.startServiceDiscovery(discoverer, true);
- Cache.log.info("Reloading done");
- progressBar.setVisible(false);
+ var task = discoverer.startDiscoverer();
+ try {
+ task.get();
+ Cache.log.info("Reloading done");
+ } catch (Exception exc) {
+ Cache.log.error("Reloading failed", exc);
+ } finally {
+ SwingUtilities.invokeLater(() -> progressBar.setVisible(false));
+ }
}).start();
};