diff --git a/pom.xml b/pom.xml
index 04ea80a..d95bb32 100755
--- a/pom.xml
+++ b/pom.xml
@@ -6,7 +6,7 @@
org.parabot
client
- 2.7
+ 2.7.1
jar
@@ -73,7 +73,7 @@
org.parabot
internal-api
- 1.52.1
+ 1.53.1
diff --git a/src/main/java/org/parabot/core/ui/BotUI.java b/src/main/java/org/parabot/core/ui/BotUI.java
index 90b384f..4765394 100644
--- a/src/main/java/org/parabot/core/ui/BotUI.java
+++ b/src/main/java/org/parabot/core/ui/BotUI.java
@@ -1,6 +1,5 @@
package org.parabot.core.ui;
-import javafx.application.Application;
import org.parabot.core.Configuration;
import org.parabot.core.Context;
import org.parabot.core.Directories;
@@ -248,7 +247,7 @@ public class BotUI extends JFrame implements ActionListener, ComponentListener,
Directories.clearCache();
break;
case "Notifications":
- Application.launch(NotificationUI.class);
+ NotificationUI.create();
break;
default:
System.out.println("Invalid command: " + command);
diff --git a/src/main/java/org/parabot/core/ui/components/notifications/NotificationUI.java b/src/main/java/org/parabot/core/ui/components/notifications/NotificationUI.java
index bc55311..de7c59c 100644
--- a/src/main/java/org/parabot/core/ui/components/notifications/NotificationUI.java
+++ b/src/main/java/org/parabot/core/ui/components/notifications/NotificationUI.java
@@ -1,20 +1,48 @@
package org.parabot.core.ui.components.notifications;
-import javafx.application.Application;
-import javafx.fxml.FXMLLoader;
-import javafx.scene.Scene;
-import javafx.scene.layout.BorderPane;
-import javafx.stage.Stage;
-import org.parabot.core.Configuration;
+import org.parabot.api.output.Verboser;
+import org.parabot.api.ui.JavaFxUtil;
-public class NotificationUI extends Application {
+import java.awt.event.WindowAdapter;
+import java.awt.event.WindowEvent;
+
+/**
+ * A JavaFX Panel embedded into a Swing JFrame - handles notification settings
+ *
+ * @author Shadowrs
+ */
+public class NotificationUI extends JavaFxUtil {
+
+ final NotificationUI n;
+
+ private NotificationUI() {
+ super("/storage/ui/notifications.fxml", NotificationUIController.class);
+ this.n = this;
+ }
+
+ public static void create() {
+ new NotificationUI();
+ }
@Override
- public void start(Stage stage) throws Exception {
- //noinspection RedundantCast
- BorderPane root = (BorderPane) FXMLLoader.load(this.getClass().getResource("/storage/ui/notifications.fxml"));
- stage.setTitle(Configuration.BOT_TITLE);
- stage.setScene(new Scene(root));
- stage.show();
+ public WindowAdapter getWindowAdapter() {
+ return new WindowAdapter() {
+ @Override
+ public void windowClosed(WindowEvent e) {
+ Verboser.verbose("NotificationUI closed " + e);
+ }
+
+ @Override
+ public void windowClosing(WindowEvent e) {
+ // Anything here. JFrame hides on exit.
+ Verboser.verbose("NotificationUI closing " + e);
+ n.getFrame().dispose();
+ }
+ };
+ }
+
+ @Override
+ protected void onLaunched() {
+ n.getFrame().setTitle("Notifications");
}
}
\ No newline at end of file
diff --git a/src/main/java/org/parabot/environment/Environment.java b/src/main/java/org/parabot/environment/Environment.java
index 88cf093..0e05b0d 100644
--- a/src/main/java/org/parabot/environment/Environment.java
+++ b/src/main/java/org/parabot/environment/Environment.java
@@ -33,7 +33,7 @@ public class Environment extends org.parabot.api.io.libraries.Environment {
loadLibrary(lib, true);
}
- Core.verbose("Loading server: " + desc.toString() + "...");
+ Core.verbose("[Environment] Loading server: " + desc.toString() + "...");
ServerParser.SERVER_CACHE.get(desc).run();
}
diff --git a/src/main/resources/storage/ui/notifications.fxml b/src/main/resources/storage/ui/notifications.fxml
index 1e6ac7b..6577abd 100644
--- a/src/main/resources/storage/ui/notifications.fxml
+++ b/src/main/resources/storage/ui/notifications.fxml
@@ -4,8 +4,7 @@
+ prefWidth="600.0" xmlns:fx="http://javafx.com/fxml/1">