JDialog和JPanel不会打开他们的设置尺寸而不显示他们的标签?

时间:2011-10-16 13:24:52

标签: java netbeans

在我的Netbeans代码中,我有JPanels和JDialog有时让我发疯。即使我已经在代码中设置了它们的大小和内容并使用IDE属性,这些容器上的某些控制器决定不显示或自动更改大小。例如,某个JPanel上的某些jButton没有显示其文本标签或某些文本字段的大小发生变化。

对此的任何解决方案都将受到赞赏!

2 个答案:

答案 0 :(得分:1)

使用NetBeans IDE向导创建GUI时,附带JPanel和JFrame的布局管理器是GroupLayout,它按预期工作。它保留了你指定的JPanel和JFrame的大小。

现在,如果您更改JPanel或JFrame的LayoutManager,那么您就可以自己动手了。您必须知道更改LayoutManager的后果,并更新/添加所需的代码以使代码按预期运行。

如果您希望获得NetBeans组件设计器中的内容,我建议您将默认的LayoutManager保留为GroupLayout。

答案 1 :(得分:0)

很遗憾,您没有提供任何可以显示问题的代码段。但我要假设您对布局行为感到困惑。通常我们使用布局管理器并委托它负责放置和重新调整图形元素的大小。布局管理器在绘制父元素时,即在执行异步发生的方法paint()期间可以工作,并且可能由各种事件引起(例如,改变焦点,重新调整窗口大小等)。

在这种情况下,所有尝试通过调用setSize()来更改特定元素大小的尝试都可以被布局管理器覆盖,布局管理器决定以不同方式更改同一元素的大小。

因此,如果我的假设是正确的,请学会使用布局管理器,并在遇到任何困难时询问更具体的问题。