【发布时间】:2012-07-21 01:51:51
【问题描述】:
我正在尝试自动调整应用程序左侧的大小。我在左边有一个 JTextField 和一个 JTree,在右边有 3 个 JButton。但我只是不知道如何让左侧自动调整大小。
我使用 Netbeans GUI Creator(或其他名称)完成了此操作,但没有 Netbeans 我不知道如何操作。 (我通常不使用 Netbeans 进行编程,这只是一个例外,看看是否可以使用 Swing 进行编程。
这是 Netbeans 创建的代码:http://pastebin.com/ERwY4rBC 不是代码完全无法使用,而是我想手动尝试一下。
GroupLayout 看起来不错,但 Oracle 网站说它主要用于 GUI 工具。那么,使用 GroupLayout 将不是“类似 Java”,或者我必须如何理解它?或者有没有更好的方法在没有 GroupLayout 的情况下实现这一点?
谢谢!
【问题讨论】:
-
更好的方法是手动编写代码并使用对编码器更友好的布局管理器,通常在嵌套的 JPanel 中。例如,请查看this answer to a similar question。
-
自动调整大小到底是什么意思?调整窗口大小时调整大小?
-
正如“气垫船”所说,手动编码使用布局管理器可能是最佳选择。我发现 BorderLayout 非常灵活——您可以将一个面板的“左侧”内容放在 BorderLayout 的中心,将“右侧”放在东部。如需更多控制,请查看 MigLayout。远离 GridLayout - 它对于大多数用途来说太复杂了。
-
一个更好的链接示例:EastProgressList。 @GreyBearded:我认为您的意思是“GridBagLayout”,但即使编写代码也比 GroupLayout 更容易。
-
一个使用GridBagLayout的例子。