gpt4 book ai didi

java - Windows 10 java gui jframe 过度绑定(bind)

转载 作者:行者123 更新时间:2023-12-01 08:49:13 25 4
gpt4 key购买 nike

我在 Java GUI 中遇到一些问题。

这是我原来的代码

public class GUI extends JFrame{

public GUI(){

}

public static void main(String[] args){
GUI gui = new GUI();
gui.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
gui.setSize(500, 400);
gui.setVisible(true);
gui.setLayout(new BorderLayout());

Dimension dim = Toolkit.getDefaultToolkit().getScreenSize();
gui.setLocation(dim.width / 2 - gui.getSize().width / 2, dim.height / 2 - gui.getSize().height / 2);


}

}

这就是结果

JFrame Over Bound

我的操作系统是Windows 10。

会不会有问题?

有人可以告诉我如何解决这个问题吗?

another pic

问题是标题栏和内容的大小不同。

谢谢。

最佳答案

始终调用 setVisible(true) last 并始终打包您的 GUI。例如:

import java.awt.*;
import javax.swing.*;

public class GUI extends JFrame {

public static void main(String[] args) {
SwingUtilities.invokeLater(() -> {
GUI gui = new GUI();
gui.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
gui.setPreferredSize(new Dimension(500, 400));
gui.setLayout(new BorderLayout());
gui.pack();
gui.setLocationRelativeTo(null);
gui.setVisible(true);
});
}
}

并结合 MeBigFatGuy 的重要建议:记住始终在 Swing 事件线程上创建 GUI。

关于java - Windows 10 java gui jframe 过度绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42490260/

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