我正在使用Netbean的表单创建者,我正在尝试一些东西。我不确定它是否是布局管理器,但是当我创建自己的JPanel并将其添加到我的窗口的主内容窗格时,无论我使用何种重新标注方法,面板的大小始终在FrameView内最大化例如setSize或setPreferred大小。我对AWT和Swing很新。
答案 0 :(得分:2)
使用NetBeans WYSIWYG设计师,它是一个平安的蛋糕 - 只需确保使用自由形式设计并使用鼠标进行调整大小。也许面板本身比FrameView大,所以双击它(你只是编辑它)并使它变小。然后双击以返回到父组件,你应该没事。
或者也许可以在NetBeans site查看一些教程。
答案 1 :(得分:2)
您不是假设手动设置尺寸。将其留给布局管理器,当窗口大小或字体甚至只是按钮标签发生变化时,GUI不会中断。
layout managers的诀窍在于,您可以在嵌套JPanel
中使用一个而不是几个。这样,几乎任何布局都是可能的。
答案 2 :(得分:0)
这是因为JPanel容器的布局管理器(可能是JFrame或其他JPanel)指示JPanel最大化。
执行以下操作:
找出,谁是这个JPanel的父级(看看NetBeans的包含对象树)
检查,为容器定义了什么布局
阅读有关LayoutManager的文档(它们位于java.awt包中)
???
PROFIT!
答案 3 :(得分:-1)
根据我的经验,Swing是一个非常挑剔的事情。我试试setMaximumSize
和setPreferedSize
。但是请注意:当我使用GridLayout
时,它总是拉伸每个单元格中的任何内容(以使其对称)。 Flow,Box,Border,我认为GridBag没有那个问题。
-Brett