From f7cba1a836c489478e65f1b00d2fba755f6b7efa Mon Sep 17 00:00:00 2001 From: Ludovic Apvrille <ludovic.apvrille@telecom-paris.fr> Date: Tue, 21 May 2024 17:44:20 +0200 Subject: [PATCH] Centering stat frame --- src/main/java/myutil/GraphicLib.java | 19 +++++++++++++++++++ src/main/java/ui/MainGUI.java | 2 ++ 2 files changed, 21 insertions(+) diff --git a/src/main/java/myutil/GraphicLib.java b/src/main/java/myutil/GraphicLib.java index 12e96a18fa..8f38d42d53 100644 --- a/src/main/java/myutil/GraphicLib.java +++ b/src/main/java/myutil/GraphicLib.java @@ -852,6 +852,25 @@ public final class GraphicLib { SwingUtilities.invokeLater(runnable); } + public static void centerFrame(JFrame frameToCenter, JFrame referenceFrame) { + // Get the location and size of the reference frame + int refX = referenceFrame.getX(); + int refY = referenceFrame.getY(); + int refWidth = referenceFrame.getWidth(); + int refHeight = referenceFrame.getHeight(); + + // Get the size of the frame to be centered + int frameWidth = frameToCenter.getWidth(); + int frameHeight = frameToCenter.getHeight(); + + // Calculate the new location + int newX = refX + (refWidth - frameWidth) / 2; + int newY = refY + (refHeight - frameHeight) / 2; + + // Set the location of the frame to be centered + frameToCenter.setLocation(newX, newY); + } + } diff --git a/src/main/java/ui/MainGUI.java b/src/main/java/ui/MainGUI.java index 8b409b638a..8f4181f9ee 100644 --- a/src/main/java/ui/MainGUI.java +++ b/src/main/java/ui/MainGUI.java @@ -3568,6 +3568,7 @@ public class MainGUI implements ActionListener, WindowListener, KeyListener, Per JFrameBasicText fbt = new JFrameBasicText("Stats on " + getCurrentTDiagramPanel().getName(), data); fbt.setSize(800, 800); fbt.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + GraphicLib.centerFrame(fbt, frame); fbt.setVisible(true); TraceManager.addDev("Frame shown"); } @@ -3587,6 +3588,7 @@ public class MainGUI implements ActionListener, WindowListener, KeyListener, Per JFrameBasicText fbt = new JFrameBasicText("Textual format - " + getCurrentTDiagramPanel().getName(), data); fbt.setSize(800, 800); fbt.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + fbt.setVisible(true); TraceManager.addDev("Frame shown"); } -- GitLab