From 28e5a3c5be70a8f283774e375b0f3a052c667627 Mon Sep 17 00:00:00 2001 From: Shatyuka <958182453@qq.com> Date: Tue, 15 Nov 2022 02:19:09 +0800 Subject: [PATCH] fix(gui): hi-dpi main window initial size (#1728)(PR #1729) --- jadx-gui/src/main/java/jadx/gui/ui/MainWindow.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/jadx-gui/src/main/java/jadx/gui/ui/MainWindow.java b/jadx-gui/src/main/java/jadx/gui/ui/MainWindow.java index f19bf04f9..87c04bb3c 100644 --- a/jadx-gui/src/main/java/jadx/gui/ui/MainWindow.java +++ b/jadx-gui/src/main/java/jadx/gui/ui/MainWindow.java @@ -23,6 +23,7 @@ import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; +import java.awt.geom.AffineTransform; import java.io.InputStream; import java.net.URL; import java.nio.file.Files; @@ -1423,8 +1424,9 @@ public class MainWindow extends JFrame { } GraphicsDevice gd = GraphicsEnvironment.getLocalGraphicsEnvironment().getDefaultScreenDevice(); DisplayMode mode = gd.getDisplayMode(); - int w = mode.getWidth(); - int h = mode.getHeight(); + AffineTransform trans = gd.getDefaultConfiguration().getDefaultTransform(); + int w = (int) (mode.getWidth() / trans.getScaleX()); + int h = (int) (mode.getHeight() / trans.getScaleY()); setBounds((int) (w * BORDER_RATIO), (int) (h * BORDER_RATIO), (int) (w * WINDOW_RATIO), (int) (h * WINDOW_RATIO)); setLocationRelativeTo(null);