gpt4 book ai didi

java - 将 JDialog 居中于父级之上

转载 作者:IT老高 更新时间:2023-10-28 21:06:49 24 4
gpt4 key购买 nike

我有一个带有按钮的 Java swing 应用程序,当执行某个操作时,该按钮会生成一个弹出窗口。我想在渲染时将弹出窗口的中心点与父窗口的中心点对齐。如何计算 x,y 坐标以插入 setLocation() 的弹出窗口?

只是为了澄清。我不想要 setLocationRelativeTo() 的行为,因为它将弹出窗口的左上角像素设置在父框架的中心像素之上。我想将弹出窗口的中心像素设置在父框架的中心像素上。

最佳答案

在您创建的 JDialog 上,您应该首先调用 pack(),然后是 setLocationRelativeTo(parentFrame),然后是 设置可见(真)。使用该顺序,JDialog 应该出现在父框架的中心。

如果您不先调用 pack(),那么设置相对于父级的位置将无法正常工作,因为 JDialog 不知道大小就在那时。它似乎将大小设为 0 x 0,这导致在对其他答案之一的评论中提到的“弹出窗口的左上角像素在父级中心像素之上”的定位。

关于java - 将 JDialog 居中于父级之上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10030947/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com