Skip to content

[Bug] [Windows] Studio 初始窗口尺寸硬编码 1280×820,在高 DPI 缩放屏(逻辑高 720px)上上下溢出 #53

Description

@CuteSamurai24

环境

  • 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.jarcom/example/ahakey/App.class 常量池里的 Double 1280.0 / 820.0 做了等长二进制替换(改为 1100.0 / 660.0),重启后窗口完全落在屏内,功能无异常。等待官方修复后可还原。

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions