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) -> {
- new Thread(() -> {
- progressBar.setVisible(true);
- Cache.log.info("Requesting service reload");
- Desktop.instance.startServiceDiscovery(discoverer, true);
- Cache.log.info("Reloading done");
- progressBar.setVisible(false);
- }).start();
+ progressBar.setVisible(true);
+ Cache.log.info("Requesting service reload");
+ discoverer.startDiscoverer().handle((_discoverer, exception) -> {
+ if (exception == null)
+ {
+ Cache.log.info("Reloading done");
+ }
+ else
+ {
+ Cache.log.error("Reloading failed", exception);
+ }
+ SwingUtilities.invokeLater(() -> progressBar.setVisible(false));
+ return null;
+ });
};
private ActionListener resetServicesAction = (ActionEvent e) -> {