为什么JFrame setSize()方法不能正确设置大小?

所以我已经在Java编程学了一个学期左右的时间,而且我遇到了几次这个问题,最后才开始提出问题。

如果我做一个JFrame然后设置大小,setSize(400,800)例如。帧实际上并不800 pixels长。据我所知,它实际上770

(or maybe 769)

pixels更长。另外,如果您将垂直尺寸设置得非常小(低于30),则框架甚至不会显示,只有操作系统顶部的窗口栏和框架才会变大,直到您将值超过30(这样setSize(400,0)看起来与)相同setSize(400,20)。为什么会这样,修复起来并不难,但是很奇怪,我很好奇为什么会这样?

如果您需要有关任何内容的更多信息,请询问,我会尽快给您。

回答:

可能是因为框架的大小包括边框的大小。

框架是带有标题和边框的顶级窗口。边框的大小包括为边框指定的任何区域。可以使用getInsets方法获得边界区域的尺寸。由于边框区域包括在框架的整体大小中,因此边框有效地遮盖了框架的一部分,从而将可用于渲染和/或显示子组件的区域限制为具有(插入)左上角位置的矩形。左侧为insets.top),尺寸为宽度-(insets.left

+ insets.right)乘以高度-(insets.top + insets.bottom)。

来源:http

:

//download.oracle.com/javase/tutorial/uiswing/components/frame.html

以上是 为什么JFrame setSize()方法不能正确设置大小? 的全部内容, 来源链接: utcz.com/qa/420322.html

回到顶部