当前位置: 首页 > 面试题库 >

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

鱼渝
2023-03-14
问题内容

所以我已经在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



 类似资料:
  • 问题内容: 我正在尝试使用GoLang,接口和结构继承。 我创建了一组结构,其想法是可以将常见方法和值保留在核心结构中,然后仅继承此结构并适当添加其他值: 您还可以在下面的游乐场中找到: https://play.golang.org/p/OxzuaQkafj 但是,当我运行main方法时,年龄保持为“ 21”,并且不会被SetAge()方法更新。 我试图了解为什么会这样,以及我需要做些什么才能使

  • 你好,谢谢你花时间处理我的问题。首先让我向你介绍我的虚拟/培训项目。下面列出的类应该代表MVC模型(模型、视图、控制器)之后的程序。运行主类时,会打开FileChooser,从中可以选择. csv-File,其中包含保存为String[][]的信息。这个String[][]然后在视图类中可视化为JTable。这个JTable是带有BorderLayout的JFrame中的JPanel的一部分。中心

  • 问题内容: 我在Django 1.6上无法正常使用翻译存在问题。我已将此添加到我的settings.py中: 还添加了中间件: 以及每当我使用应为l10nd的字符串时的* .py文件: 我的模板开始于: 在模板内部,我使用了trans占位符。例如 我在locale / de / LC_MESSAGES / django.po中提供了翻译: 问题答案: 添加到并将其设置如下: 请注意,它必须是一个元

  • 问题内容: 我正在做一个游戏,但是每当我运行第二个jFrame时,我都必须调整它的大小才能获得第二个jFrame的正确大小,有人知道为什么吗? 这是第一个jFrame类中的方法,它将打开第二个类: 这是第二个jFrame类,我必须重新调整它的大小才能正确显示山雀: 问题答案: 我读得很快,正在寻找一种特定的方法。 该方法是: JFrame中的此方法可能非常有用,但也很难处理,您需要非常了解如何设置

  • 所以,我正在为一个班级做这个作业。这是一个Java类,我应该做一个游戏,它掷两个骰子,把它们相加,然后把它们加到你的回合分数上。然后它会问你是否想继续玩下去。当你的轮次得分达到20分,或者当你决定通过时,它会进入电脑。它应该打印每个回合的分数,然后当有人得到100分时,它就会宣布胜利者。然而,不管怎样,无论我跑了多少圈,每一圈结束时的分数都是0。当一名玩家掷1时,他们的回合分数被取消,并转移到另一

  • 正如我对SpringBoot中REST API的设计所知,我们将为用户设计API 对于get/update/delete=/v1/users/{userId}/addressId/{addressId}(从具有给定用户ID的用户的地址中获取/update/delete地址) 因此,我创建了类似的API,但是对于Add/Get/Update/Delete,我可以通过RestController->S