Browse Source

Sets EditAlgorithmPopUp location relative to parent frame

Andreas T. Meyer-Berg 5 years ago
parent
commit
79e3cb76d0

+ 2 - 5
src/main/java/de/tu_darmstadt/tk/SmartHomeNetworkSim/view/MenuBar.java

@@ -107,17 +107,14 @@ public class MenuBar extends JMenuBar {
 		
 		JMenuItem mntmTreeView = new JMenuItem("Tree View");
 		mntmTreeView.addActionListener(a -> {
-			NetworkTreeWindow net = new NetworkTreeWindow(controller);
-			net.setLocationRelativeTo(this.getParent());
+			NetworkTreeWindow net = new NetworkTreeWindow(controller, this.getParent());
 			net.setVisible(true);
 		});
 		mnEdit.add(mntmTreeView);
 		
 		JMenuItem mntmManageAlgos = new JMenuItem("ManageAlgos");
 		mntmManageAlgos.addActionListener(a -> {
-			EditAlgorithmsPopUp popUp = new EditAlgorithmsPopUp(controller);
-			popUp.setLocationRelativeTo(this.getParent());
-			popUp.setVisible(true);
+			new EditAlgorithmsPopUp(controller, this.getParent());
 		});
 		mnEdit.add(mntmManageAlgos);
 	}

+ 5 - 1
src/main/java/de/tu_darmstadt/tk/SmartHomeNetworkSim/view/popups/EditAlgorithmsPopUp.java

@@ -11,6 +11,8 @@ import de.tu_darmstadt.tk.SmartHomeNetworkSim.control.SimulationController;
 import de.tu_darmstadt.tk.SmartHomeNetworkSim.core.NetworkManipulationAlgorithm;
 import de.tu_darmstadt.tk.SmartHomeNetworkSim.view.util.Utility;
 
+import java.awt.Container;
+
 import javax.swing.JButton;
 import javax.swing.JLabel;
 
@@ -49,8 +51,9 @@ public class EditAlgorithmsPopUp extends JDialog {
 	/**
 	 * Creates and shows a new EditAlgorithmPopUp
 	 * @param controller controller
+	 * @param parent parent container the location should be set relative to
 	 */
-	public EditAlgorithmsPopUp(Controller controller) {
+	public EditAlgorithmsPopUp(Controller controller, Container parent) {
 		this.controller = controller;
 		this.sim = this.controller.getSimulationController();
 		this.setSize(400, 400);
@@ -181,6 +184,7 @@ public class EditAlgorithmsPopUp extends JDialog {
 		btnDown.setBounds(306, 42, 64, 25);
 		getContentPane().add(btnDown);
 		updateThis(null);
+		this.setLocationRelativeTo(parent);
 		this.setEnabled(true);
 		this.setVisible(true);
 	}

+ 4 - 1
src/main/java/de/tu_darmstadt/tk/SmartHomeNetworkSim/view/popups/NetworkTreeWindow.java

@@ -1,5 +1,6 @@
 package de.tu_darmstadt.tk.SmartHomeNetworkSim.view.popups;
 
+import java.awt.Container;
 import java.awt.Rectangle;
 
 import javax.swing.JFrame;
@@ -23,12 +24,14 @@ public class NetworkTreeWindow extends JFrame {
 	/**
 	 * Frame which contains the Network Tree
 	 * @param controller controller which should be used to get and edit the Model
+	 * @param parent Parent component, which opens this window
 	 */
-	public NetworkTreeWindow(Controller controller) {
+	public NetworkTreeWindow(Controller controller, Container parent) {
 		setBounds(new Rectangle(0, 0, 800, 600));
 		setResizable(true);
 		setTitle("Network Tree View");
 		setIconImage(Utility.loadFile("images/smartHome_icon.png"));
 		this.setContentPane(new NetworkTreePanel(controller,this));
+		this.setLocationRelativeTo(parent);
 	}
 }

+ 2 - 3
src/main/java/de/tu_darmstadt/tk/SmartHomeNetworkSim/view/popups/SimulationConfigurator.java

@@ -41,7 +41,7 @@ public class SimulationConfigurator extends JFrame implements Observer{
 	 */
 	private JTextField tfEndTimeLong;
 	/**
-	 * Textfield for editing the step duration
+	 * Textfield for editing the step durationr
 	 */
 	private JTextField tfStepDuration;
 	/**
@@ -178,8 +178,7 @@ public class SimulationConfigurator extends JFrame implements Observer{
 		btnEditAlgorithms.setBounds(230, 100, 180, 20);
 		getContentPane().add(btnEditAlgorithms);
 		btnEditAlgorithms.addActionListener(a->{ 
-			EditAlgorithmsPopUp popUp = new EditAlgorithmsPopUp(controller);
-			popUp.setLocationRelativeTo(that);
+			new EditAlgorithmsPopUp(controller, that);
 			});
 
 		chckbxPrintpackets = new JCheckBox("print Packets");