0

我尝试在 Netbeans 中将图像添加到我的登录框架,因此我尝试将布局从“免费设计”更改为“空布局”(就像我在此视频中看到的那样:http ://www.youtube.com/watch?v =uZFgiqM0udA),它的工作。

但是当我运行程序时,窗口在左侧打开,而不是常规大小 - 如图所示: 在此处输入图像描述

问题是什么?

4

4 回答 4

4

欢迎来到为什么你不应该使用null布局的美妙世界(以及为什么学习使用表单设计器编写 UI 也是一个坏主意)。

您面临的问题是基于 Swing(和 AWT)被设计为与布局管理器一起使用的事实,这是框架工作方式的核心。

当您调用packaWindow时,它会询问所有的孩子他们想要的尺寸,并计算 的最佳尺寸Window

在您的情况下,因为您没有使用布局管理器,所以窗口假定它是 0x0 的默认侧(加上框架边框)。

为了解决这个问题,我建议两件事。首先,停止使用表单设计器,直到您了解 UI 是如何构建的;其次,使用一个或多个布局管理器。

看看A Visual Guide to Layout ManagersUsing layout managers

我没有机会使用它,但看看MigLayout可能也值得一看,SO 上的许多用户都强烈推荐它

于 2013-08-01T00:33:39.943 回答
1

据我所知,不要使用空布局,而是使用 LayoutManagers,无论如何,你是自由的,我认为你正在调用 pack() 方法到框架并且你可能没有设置框架的 aize

于 2013-08-01T00:33:25.093 回答
0

或者您可以继续并从修改一些布局管理器开始。

在导航器中选择您的框架,然后查找此属性

preferredSize - 框架将采用的默认大小

maximumSize - 帧的最大尺寸

minimumSize - 框架的最小尺寸

于 2014-12-24T20:47:46.863 回答
0

使用绝对布局固定我的!出于某种原因,默认大小 0*0 在运行时被执行(但帧保持自定义分辨率),因此将空布局更改为绝对是调用自定义帧大小。

于 2017-11-23T05:09:27.860 回答