JOptionPane for Errors, general refactoring, deprecated class removed (CameraRenderer) moved into Swing now

modified:
/ SwingCCTVManager ; Error Pane, refactoring
/ WebcamCaptureLoop ; cleanup method for closing cameras reliably, and some MessageDialogs for error handling (just fails lol)
/ SwingCameraWindow ; refactor some legacy code into a "modern" lambda function , Message Dialog for error handling , and some g2d stuff (paintComponent)

removed:
- CameraRenderer.java ; Deprecated Component, was used for SWT GL Surfaces. We dont do that now!

---

rattatwinko
This commit is contained in:
2026-01-13 17:33:47 +01:00
parent 370df03205
commit b767ba27b3
4 changed files with 50 additions and 119 deletions

View File

@@ -31,7 +31,6 @@ public class SwingCCTVManager {
private final JFrame frame;
private final JTable deviceTable;
private final DefaultTableModel tableModel;
private Timer autoRefreshTimer;
public SwingCCTVManager() {
frame = new JFrame("dashboard");
@@ -92,7 +91,7 @@ public class SwingCCTVManager {
}
private void startAutoRefresh() {
autoRefreshTimer = new Timer(5000, e -> refreshTable());
Timer autoRefreshTimer = new Timer(5000, e -> refreshTable());
autoRefreshTimer.start();
}
@@ -142,13 +141,10 @@ public class SwingCCTVManager {
if (row == -1) return;
String name = (String) tableModel.getValueAt(row, 1);
Webcam selected = Webcam.getWebcams().stream()
Webcam.getWebcams().stream()
.filter(w -> w.getName().equals(name))
.findFirst().orElse(null);
.findFirst().ifPresent(selected -> new Thread(() -> new SwingCameraWindow(selected).open()).start());
if (selected != null) {
new Thread(() -> new SwingCameraWindow(selected).open()).start();
}
}
private void deleteSelected() {
@@ -165,7 +161,14 @@ public class SwingCCTVManager {
for (CameraConfig config : CameraSettings.load()) {
try {
IpCamDeviceRegistry.register(config.getName(), config.getUrl(), IpCamMode.PUSH);
} catch (MalformedURLException e) { e.printStackTrace(); }
} catch (MalformedURLException e) {
JOptionPane.showMessageDialog(
null,
"Malformed URL\n"+e.getMessage(),
"Malformed URL",
JOptionPane.ERROR_MESSAGE
);
}
}
}