1

我最初使用的是 setSize ,但是由于 java 边框和标题空间,这导致屏幕内容略大于屏幕。所以我使用了 setpreferredSize 现在屏幕尺寸有点太大了。在我的内容的右侧和底部留出一个空间。

在我的 JFrame 中:

add(new Board());
    setTitle("Rougebot");
    setDefaultCloseOperation(EXIT_ON_CLOSE);
    //setSize(600, 800);
    //getContentPane().setPreferredSize(new Dimension(600,800));
    pack();
    setLocationRelativeTo(null);
    setVisible(true);
    setResizable(false);

在我的董事会(JPanel)

setPreferredSize(new Dimension(600,800));
4

2 回答 2

8

打电话setResizable(false) 打电话pack()

add(new Board());
setTitle("Rougebot");
setDefaultCloseOperation(EXIT_ON_CLOSE);
setResizable(false); // <-- here
pack();
setLocationRelativeTo(null);
setVisible(true);

并继续设置首选大小Board,如原始帖子中的示例所示。

在 Windows 中,固定边框比可调整大小的边框更薄,如果您计算大小然后设置为固定大小,则更改窗口边框宽度,在 Windows 中,这会导致客户区增加并且外部尺寸保持固定。

于 2013-11-02T10:32:33.783 回答
1

框架有装饰(外框)。pack 试图做的是确保内容(可视)区域满足所有子组件的首选大小的要求,然后在其周围添加框架装饰。

装饰的大小取决于平台

例如...

于 2013-11-02T09:17:51.030 回答