gpt4 book ai didi

java - JFrame 显示大小不同

转载 作者:行者123 更新时间:2023-12-02 02:49:21 28 4
gpt4 key购买 nike

enter image description here

enter image description here

我有以下代码

package trtyhard;    

import javax.swing.JFrame;

public class TrtyHard {

public static void main(String[] args) {

SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
JFrame frame = new JFrame("TryHard");
//frame.setSize(700, 500);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setResizable(false);
frame.setSize(700, 500);
frame.setLocationRelativeTo(null);
frame.setVisible(true);
}
});

}

}

有时 JFrame 会以不同的大小出现。有时底部多出 10 毫米,有时右侧多出 5-7 毫米。我该如何修复它?

最佳答案

除了确保 GUI 是在事件调度线程 EDT) 上创建之外,请尝试按如下方式重构代码:

JFrame frame = new JFrame("TryHard");
//frame.setSize(700, 500);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setResizable(false);
frame.setSize(700, 500);
frame.setLocationRelativeTo(null);
frame.setVisible(true);

重点是在对框架执行 setSize() 或 pack() 之前设置框架属性。

阅读 Swing 教程中的部分 Initial Thread了解有关EDT的更多信息。

关于java - JFrame 显示大小不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44073105/

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