diff --git a/src/main/java/com/goxr3plus/xr3player/application/Main.java b/src/main/java/com/goxr3plus/xr3player/application/Main.java index 98acfa46..df872a5b 100644 --- a/src/main/java/com/goxr3plus/xr3player/application/Main.java +++ b/src/main/java/com/goxr3plus/xr3player/application/Main.java @@ -491,7 +491,7 @@ private void startPart2() { aboutWindow.getWindow().initOwner(window); updateWindow.getWindow().initOwner(window); tagWindow.getWindow().initOwner(window); - captureWindow.stage.initOwner(window); + captureWindow.getStage().initOwner(window); captureWindow.settingsWindowController.getStage().initOwner(window); // --------- Fix the Background ------------ diff --git a/src/main/java/com/goxr3plus/xr3player/application/presenter/SideBar.java b/src/main/java/com/goxr3plus/xr3player/application/presenter/SideBar.java index 98b63a72..113446f6 100644 --- a/src/main/java/com/goxr3plus/xr3player/application/presenter/SideBar.java +++ b/src/main/java/com/goxr3plus/xr3player/application/presenter/SideBar.java @@ -268,7 +268,7 @@ private void initialize() { applicationConsole.setOnAction(a -> Main.consoleWindow.show()); //snapShot - snapshot.setOnAction(a -> CaptureWindow.stage.show()); + snapshot.setOnAction(a -> Main.captureWindow.getStage().show()); // importDataBase importDataBase.setOnAction(e -> importDatabase()); diff --git a/src/main/java/com/goxr3plus/xr3player/xr3capture/CaptureWindow.java b/src/main/java/com/goxr3plus/xr3player/xr3capture/CaptureWindow.java index 923e5114..4aece7e7 100644 --- a/src/main/java/com/goxr3plus/xr3player/xr3capture/CaptureWindow.java +++ b/src/main/java/com/goxr3plus/xr3player/xr3capture/CaptureWindow.java @@ -25,7 +25,7 @@ public class CaptureWindow { private Thread positionFixerThread; /** The stage. */ - public static Stage stage = new Stage(); + private Stage stage; /** The main window controller. */ public MainWindowController mainWindowController; @@ -47,7 +47,8 @@ public CaptureWindow() { try { // stage - stage.setTitle("XR3Capture Version 9!"); + stage = new Stage(); + stage.setTitle("XR3Capture"); //stage.getIcons().add(new Image(getClass().getResourceAsStream("/image/icon.png"))) stage.initStyle(StageStyle.TRANSPARENT); stage.setAlwaysOnTop(true); @@ -55,12 +56,12 @@ public CaptureWindow() { // MainWindowController //FXMLLoader loader1 = new FXMLLoader(getClass().getResource("/fxml/xr3capture/MainWindowController.fxml")) //loader1.load() - mainWindowController = new MainWindowController(); + mainWindowController = new MainWindowController(stage); // CaptureWindowController //FXMLLoader loader2 = new FXMLLoader(getClass().getResource("/fxml/xr3capture/CaptureWindowController.fxml")) // loader2.load() - captureWindowController = new CaptureWindowController(); + captureWindowController = new CaptureWindowController(stage); // SettingsController // FXMLLoader loader3 = new FXMLLoader(getClass().getResource("/fxml/xr3capture/SettingsWindowController.fxml")) @@ -146,4 +147,11 @@ private void stopPositionFixThread() { positionFixerThread.interrupt(); } + /** + * @return the stage + */ + public Stage getStage() { + return stage; + } + } diff --git a/src/main/java/com/goxr3plus/xr3player/xr3capture/CaptureWindowController.java b/src/main/java/com/goxr3plus/xr3player/xr3capture/CaptureWindowController.java index 627b6282..d68526bb 100644 --- a/src/main/java/com/goxr3plus/xr3player/xr3capture/CaptureWindowController.java +++ b/src/main/java/com/goxr3plus/xr3player/xr3capture/CaptureWindowController.java @@ -48,6 +48,8 @@ public class CaptureWindowController extends StackPane { private Stage stage; + private final Stage captureWindowStage; + /** The stack pane. */ @FXML private StackPane stackPane; @@ -226,7 +228,8 @@ public void handle(long timestamp) { /** * Constructor. */ - public CaptureWindowController() { + public CaptureWindowController(Stage captureWindowStage) { + this.captureWindowStage = captureWindowStage; // ------------------------------------FXMLLOADER ---------------------------------------- FXMLLoader loader = new FXMLLoader(getClass().getResource(InfoTool.XR3CAPTURE_FXMLS + "CaptureWindowController.fxml")); @@ -409,7 +412,7 @@ private void addKeyHandlers() { deActivateAllKeys(); // show the appropriate windows - CaptureWindow.stage.show(); + captureWindowStage.show(); stage.close(); } else if (key.getCode() == KeyCode.ENTER || key.getCode() == KeyCode.SPACE) { // Stop MaryTTS @@ -586,7 +589,7 @@ private void selectWholeScreen() { public void prepareForCapture() { stage.show(); repaintCanvas(); - CaptureWindow.stage.close(); + captureWindowStage.close(); settingsWindowController.getStage().close(); //if (settingsWindowController.getMarryTTSToggle().isSelected()) // Main.textToSpeech.speak("Select an area of the screen dragging your mouse and then press Enter or Space"); @@ -658,7 +661,7 @@ public void startService(BufferedImage image2) { */ private void done() { - CaptureWindow.stage.show(); + captureWindowStage.show(); stage.close(); //Was it seccussful? diff --git a/src/main/java/com/goxr3plus/xr3player/xr3capture/MainWindowController.java b/src/main/java/com/goxr3plus/xr3player/xr3capture/MainWindowController.java index f40a3251..df24239f 100644 --- a/src/main/java/com/goxr3plus/xr3player/xr3capture/MainWindowController.java +++ b/src/main/java/com/goxr3plus/xr3player/xr3capture/MainWindowController.java @@ -11,6 +11,7 @@ import javafx.scene.control.Slider; import javafx.scene.layout.Region; import javafx.scene.layout.StackPane; +import javafx.stage.Stage; import main.java.com.goxr3plus.xr3player.application.tools.InfoTool; /** @@ -69,10 +70,13 @@ public class MainWindowController extends StackPane { /** The capture window controller. */ CaptureWindowController captureWindowController; + private final Stage captureWindowStage; + /** * Constructor */ - public MainWindowController() { + public MainWindowController(Stage captureWindowStage) { + this.captureWindowStage = captureWindowStage; // ------------------------------------FXMLLOADER ---------------------------------------- FXMLLoader loader = new FXMLLoader(getClass().getResource(InfoTool.XR3CAPTURE_FXMLS + "MainWindowController.fxml")); @@ -96,7 +100,6 @@ public MainWindowController() { * @param settingsWindowController * the settings window controller */ - @SuppressWarnings("hiding") public void addControllerReferences(CaptureWindowController captureWindowController , SettingsWindowController settingsWindowController) { this.captureWindowController = captureWindowController; @@ -113,15 +116,11 @@ public void initialize() { more.setOnAction(a -> settingsWindowController.getStage().show()); // minimize - minimize.setOnAction(a -> CaptureWindow.stage.setIconified(true)); + minimize.setOnAction(a -> captureWindowStage.setIconified(true)); // exitButton exitButton.setText("Close"); - exitButton.setOnAction(a -> { - CaptureWindow.stage.close(); - //DataBase.saveDataBaseSettings(settingsWindowController); - // Platform.exit(); - }); + exitButton.setOnAction(a -> captureWindowStage.close()); // captureButton captureButton.setOnAction(a -> captureWindowController.prepareForCapture());