如何自动调整java swing元素的大小?

时间:2012-07-22 16:53:17

标签: java swing layout

我正在尝试自动调整应用程序左侧的大小。我左边有一个JTextField和一个JTree,右边有三个JButtons。但我只是不知道如何让左侧自动调整大小。

我是使用Netbeans GUI Creator(或其他任何名称)做到的,但我不知道如何在没有Netbeans的情况下使用它。 (我通常不会使用Netbeans编程,这只是一个例外,看看是否可以使用Swing这样做。

以下是Netbeans创建的代码:http://pastebin.com/ERwY4rBC 这不是代码完全无法使用,而是我想手动尝试。

GroupLayout看起来不错,但Oracle网站表示它主要用于GUI工具。因此,使用GroupLayout不是“Java like”或者我如何理解它?或者,如果没有GroupLayout,还有更好的方法来实现这一目标吗?

谢谢!

2 个答案:

答案 0 :(得分:3)

  

因此,使用GroupLayout不会像#34; Java喜欢"或者我如何理解它

GroupLayout只是简单地手工编写代码,并且主要产生很多代码。但它不是"不像Java那样,它不是你想要手工做的事情,后来的代码很难阅读,因为它相当冗长。

使用某些'nested layouts'可以轻松实现您尝试实现的功能(根据屏幕截图)。如果您的主面板使用BorderLayout,您可以在BorderLayout.CENTER中放置左侧可调整大小的面板,而在BorderLayout.EAST中使用不可调整大小的面板,您将获得所需的调整大小行为。< / p>

然后您只需决定哪些LayoutManager用于这些单独的面板。我认为BoxLayoutFlowLayout都可以。{/ p>

答案 1 :(得分:3)

帮自己一个忙,并使用MigLayout满足您的所有布局需求。手动编码UI特别方便。

他们网站上有一个WebStart应用程序,可以使用提供的代码示例演示不同的布局情况。