0

我正在使用 Netbeans 7,并且在设计 Swing 容器和控制器时遇到了最不寻常的情况。出于某种未知的原因,在某些情况下,容器或控制器决定选择自己的大小和尺寸,即使我尝试在代码级别和每个容器的属性视图中设置这些参数。有时我的一些 jButtons 的文本标签没有显示,有时我得到不同大小的 JDialog 或 JPanel,即使我在设计视图和代码级别都指定了它们。

有没有人对这种奇怪的行为有任何解释,或者有没有人在 Netbeans 上遇到过类似的问题?!

亲切的问候

4

2 回答 2

2

您可能通过内置的FreeLayout, 或GridBagLayout. 对于有关内置 oprions 和 funcions 的具体问题,有Netbeans 论坛,但看起来没有问题的答案,

Java Desktop AplicationJSR296)是长期不支持的框架,我不知道原因也不知道为什么(避免任何猜测)

Java Desktop Aplication基于Java AWT&Swing Components

考虑使用由标准LayoutManagers铺设的标准Swing JComponents,而不是 reicarnate un_supported ,关于是否有当前(标记)Swing 论坛FrameworkSwing

也许Components从准备好的选项中拖放太舒服了,但是有麻烦的自定义(我的观点是非用户友好的)

要获得好的答案,您必须根据SSCCE提出问题

于 2011-10-16T09:11:00.863 回答
0

LayoutManager组件根据容器的当前规则调整大小。每个管理器都有自己的一套规则来管理组件的大小。例如,如果您使用 BorderLayout(在此处输入链接描述),并在中心部分添加一个组件,它将使用所有可用空间,而忽略您的尺寸设置(包括最小/首选/最大尺寸)。但是,如果您使用的是GridBagLayout,则可以指定如何在组件之间分配可用空间。

看来您的问题是布局管理器问题。大多数情况下,默认管理器不会是您想要使用的管理器。请务必根据LayoutManager您的需要设置正确的实例。如果您需要更多指导,可以在 Web 上找到许多有关布局管理器的教程。这个来自 Oracle(之前由 Sun 编写,当时它仍然拥有它)。

于 2011-10-16T16:42:07.440 回答