我正在使用Netbeans 7,我在设计Swing容器和控制器时遇到了最不寻常的情况。由于某些未知原因,在某些情况下,容器或控制器决定选择自己的大小和尺寸,即使我已尝试在代码级别和每个容器的属性视图中设置这些参数。有时我得到一些我的jButton的Text标签没有显示,有时我得到不同大小的JDialog或JPanel,即使我在设计视图和代码级别都指定了它们。
有没有人对这种奇怪的行为有任何解释,或者有没有人遇到像Netbeans那样的问题?!
亲切的问候
答案 0 :(得分:2)
您可能已通过内置FreeLayout
或GridBagLayout
来放置容器。关于内置的oprions和功能的具体问题是Netbeans Forums,但看起来像是对问题的肯定答案,
Java Desktop Aplication
(JSR296)是很长时间不支持的框架,我不知道原因而且不知道为什么(避免任何猜测)
Java Desktop Aplication
基于Java AWT
& Swing Components
考虑使用标准Swing JComponents制定的标准LayoutManagers,而不是重新发布un_supported Framework
,关于Swing
是否有当前(已标记的)Swing论坛
从准备好的选项中可能过于舒适了drag_and_drop Components
,但是又打扰了自定义(非我用户的观点)
要获得良好的答案,您必须根据SSCCE
提出问题答案 1 :(得分:0)
根据容器的当前LayoutManager
规则调整组件大小。每个经理都有自己的一套规则来管理组件的大小。例如,如果您使用BorderLayout(enter link description here),并在中心部分添加组件,它将使用所有可用空间,忽略您的大小设置(包括最小/首选/最大大小)。但是,如果您使用GridBagLayout
,则可以指定在组件之间分配可用空间的方式。
您的问题似乎是布局管理器问题。大多数情况下,默认管理器将不是您要使用的管理器。请务必根据需要设置正确的LayoutManager
实例。如果您需要更多指导,可以在网上找到许多有关布局管理器的教程。 This one来自Oracle(之前由Sun撰写,当时它还拥有该东西)。