我正在尝试自动调整应用程序左侧的大小。左边有一个JTextField和一个JTree,右边有3个JButton。但我只是不知道如何使左侧自动调整大小。
我用Netbeans GUI Creator(或者它的名字)做了这件事,但如果没有Netbeans,我不知道该怎么做。(我通常不使用Netbeans进行编程,这只是一个例外,看看是否可以使用Swing进行编程
以下是Netbeans创建的代码:http://pastebin.com/ERwY4rBC这并不是说代码完全不可用,而是我想手动尝试一下。
GroupLayout看起来不错,但Oracle网站表示,它主要用于GUI工具。所以,使用GroupLayout不是"Java式"的,或者我必须如何理解它?或者,在没有GroupLayout的情况下,还有更好的方法来实现这一点吗?
谢谢!
所以,使用GroupLayout不是"Java式"的,或者我必须如何理解它
简单地说,GroupLayout
真的很难处理代码,并且主要导致大量代码。但它并不是"不像Java",只是你不想手工完成,而且之后的代码很难阅读,因为它相当冗长。
使用一些"嵌套布局"可以很容易地实现您想要实现的目标(根据屏幕截图)。如果主面板使用BorderLayout
,将左侧可调整大小的面板放在BorderLayout.CENTER
中,将另一个不可调整大小面板放在BorderLayout.EAST
中,则将获得所需的调整大小行为。
然后,您只需要决定将哪个LayoutManager
用于这些单独的面板。我认为BoxLayout
和FlowLayout
都会做得很好。
帮自己一个忙,使用MigLayout满足您的所有布局需求。手工编写UI代码特别方便。
他们的网站上有一个WebStart应用程序,通过提供的代码示例演示不同的布局情况。