环境
- Windows 10 (19045),AhaKey Studio 1.0.0(build 20260706171537)
- 显示器 3440×1440 @ 200% DPI 缩放(逻辑分辨率 1720×720,可视区高 680)
现象
每次启动 AhaKey Studio,窗口上下两沿都超出屏幕可视范围。实测窗口物理 rect:顶边 y=-93(屏幕顶以上),底边 1547(屏幕物理高仅 1440)。窗口可手动缩小,但下次启动又恢复溢出。
根因
ahakeyconfig-win-java/src/main/java/com/example/ahakey/App.java 中初始窗口尺寸硬编码:
primaryStage.setMinWidth(800);
primaryStage.setMinHeight(600);
primaryStage.setWidth(1280);
primaryStage.setHeight(820);
JavaFX 逻辑像素下窗口高 820 > 高缩放屏的逻辑屏高 720,任何缩放比例 ≥175% 的 1440p 屏(或 ≥200% 的 1080p 屏)都会复现。另外跨屏 DPI 切换的恢复逻辑里 savedSize = {1280, 820} 也是同一组写死值。
建议修复
初始尺寸对 Screen.getVisualBounds() 收敛,例如:
Rectangle2D vb = Screen.getPrimary().getVisualBounds();
primaryStage.setWidth(Math.min(1280, vb.getWidth() - 40));
primaryStage.setHeight(Math.min(820, vb.getHeight() - 40));
临时绕过(供同情况用户参考)
我本地对 ahakey-studio-1.0.0.jar 中 com/example/ahakey/App.class 常量池里的 Double 1280.0 / 820.0 做了等长二进制替换(改为 1100.0 / 660.0),重启后窗口完全落在屏内,功能无异常。等待官方修复后可还原。
环境
现象
每次启动 AhaKey Studio,窗口上下两沿都超出屏幕可视范围。实测窗口物理 rect:顶边 y=-93(屏幕顶以上),底边 1547(屏幕物理高仅 1440)。窗口可手动缩小,但下次启动又恢复溢出。
根因
ahakeyconfig-win-java/src/main/java/com/example/ahakey/App.java中初始窗口尺寸硬编码:JavaFX 逻辑像素下窗口高 820 > 高缩放屏的逻辑屏高 720,任何缩放比例 ≥175% 的 1440p 屏(或 ≥200% 的 1080p 屏)都会复现。另外跨屏 DPI 切换的恢复逻辑里
savedSize = {1280, 820}也是同一组写死值。建议修复
初始尺寸对
Screen.getVisualBounds()收敛,例如:临时绕过(供同情况用户参考)
我本地对
ahakey-studio-1.0.0.jar中com/example/ahakey/App.class常量池里的Double 1280.0 / 820.0做了等长二进制替换(改为 1100.0 / 660.0),重启后窗口完全落在屏内,功能无异常。等待官方修复后可还原。