我正在使用netbeans gui builder来处理我的布局(我对LayoutManager很糟糕),并尝试放置一个简单的jlabel,以便它始终位于其父jpanel的中心(水平)。理想情况下,即使调整了jpanel的大小,这也会保持为真,但是如果这是一个疯狂的编码量,那么在jpanel第一次创建时,仅仅居中就足够了。
我自己尝试处理布局已经够糟糕的了,但是由于netbeans gui builder自动生成不可变的代码,我不可能弄清楚如何进行居中,而且我还无法在网上找到任何帮助我的东西。
感谢所有能指引我正确方向的人!
5条答案
按热度按时间klh5stk11#
mara:“感谢您的回复,但是netbeans gui构建使用grouplayout,这是不可重写的。”
不是真的!右键单击netbeans gui builder中jframe(或任何其他gui容器)内的任意位置,然后选择“设置布局”。默认情况下,选择“自由设计”,这是组布局,但您可以选择任何其他布局,包括mkorbel建议的边框布局。
brtdzjyr2#
根据您使用的布局管理器的不同,有很多方法可以做到这一点。我建议您阅读容器教程中的布局组件。
我相信无论布局管理器如何,以下内容都会起作用:
JLabel.setHorizontalAlignment(SwingConstants.CENTER)
hyrbngr73#
通过使用borderlayout,可以将任何jcomponents放置到中心区域。例如,请参阅堆栈溢出问题的答案摆脱JPanel之间的间隙。这应该行得通。
w1jd8yoj4#
以下是使零部件居中的四种方法:
kognpnkq5#
即使使用boxlayout,您也可以实现以下目标:
mkorbel的解决方案非常适合您的目标。无论如何,我总是喜欢建议boxlayout,因为它非常灵活。