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

如何自动调整java swing元素的大小?,java,swing,layout,Java,Swing,Layout,我正在尝试自动调整应用程序左侧的大小。我在左边有一个JTextField和一个JTree,在右边有3个jbutton。但我只是不知道如何使左侧自动调整大小 我是用NetBeansGUI创建者或者其他什么东西来实现的,但是如果没有Netbeans,我不知道如何实现它。我通常不使用Netbeans编程,这只是一个例外,看看是否可以使用Swing进行编程 以下是创建的Netbeans代码: 这并不是说代码完全不可用,而是我想手动尝试 GroupLayout看起来不错,但Oracle网站说它主要用于GU

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

我是用NetBeansGUI创建者或者其他什么东西来实现的,但是如果没有Netbeans,我不知道如何实现它。我通常不使用Netbeans编程,这只是一个例外,看看是否可以使用Swing进行编程

以下是创建的Netbeans代码: 这并不是说代码完全不可用,而是我想手动尝试

GroupLayout看起来不错,但Oracle网站说它主要用于GUI工具。所以,使用GroupLayout与Java不一样,或者我必须如何理解它?或者有没有更好的方法在没有GroupLayout的情况下实现这一点

谢谢

因此,使用GroupLayout与Java不一样,或者我必须如何理解它

GroupLayout就是简单地说,很难手工编写代码,结果大部分是大量代码。但是它不像Java,它不是你想手工完成的事情,而且之后的代码很难阅读,因为它相当冗长

根据屏幕截图,您试图实现的目标很容易通过使用一些工具实现。如果主面板使用BorderLayout,将左侧可调整大小的面板放置在BorderLayout.CENTER中,将另一个不可调整大小的面板放置在BorderLayout.EAST中,则将获得所需的调整大小行为

然后,您只需决定将哪个LayoutManager用于这些单独的面板。我认为BoxLayout和FlowLayout都可以

因此,使用GroupLayout与Java不一样,或者我必须如何理解它

GroupLayout就是简单地说,很难手工编写代码,结果大部分是大量代码。但是它不像Java,它不是你想手工完成的事情,而且之后的代码很难阅读,因为它相当冗长

根据屏幕截图,您试图实现的目标很容易通过使用一些工具实现。如果主面板使用BorderLayout,将左侧可调整大小的面板放置在BorderLayout.CENTER中,将另一个不可调整大小的面板放置在BorderLayout.EAST中,则将获得所需的调整大小行为


然后,您只需决定将哪个LayoutManager用于这些单独的面板。我认为BoxLayout和FlowLayout都很好。

帮你自己一个忙,满足你所有的布局需求。手工编写用户界面尤其方便


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

帮自己一个忙,满足所有布局需求。手工编写用户界面尤其方便


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

更好的方法是手工编写代码,并使用更为代码友好的布局管理器,通常是在嵌套的JPanel中。例如,请看一下。你说的自动调整大小到底是什么意思?调整窗口大小时调整大小?正如“气垫船”所说,使用手工编码的布局管理器可能是最好的选择。我发现BorderLayout非常灵活——你可以在BorderLayout的中心放一个面板,面板的“左侧”内容,而“右侧”内容则放在东部。有关更多控制,请查看MigLayout。远离GridLayout-对于大多数用途来说,它太复杂了。一个更好的链接示例:@灰胡子:我想你指的是GridBagLayout,但即使是手工编码也比GroupLayout容易。使用的一个例子是。更好的方法是手工编码,并使用对编码人员更友好的布局管理器,通常是在嵌套的JPanel中。例如,请看一下。你说的自动调整大小到底是什么意思?调整窗口大小时调整大小?正如“气垫船”所说,使用手工编码的布局管理器可能是最好的选择。我发现BorderLayout非常灵活——你可以在BorderLayout的中心放一个面板,面板的“左侧”内容,而“右侧”内容则放在东部。有关更多控制,请查看MigLayout。远离GridLayout-对于大多数用途来说,它太复杂了。一个更好的链接示例:@灰胡子:我想你指的是GridBagLayout,但即使是手工编写代码也比GroupLayout容易。一个使用的例子。这正是我想要的。谢谢但是,有没有办法设置左侧的最小宽度?我试着用左侧的JPanel设置最小尺寸,使用setMinimumSizenew Dimension120,0;但它不起作用。好的,修好了我读到不可能设置中心元素的大小,但可以使用setPreferredSizedimension设置侧元素的大小。这正是我要找的。谢谢但是,有没有办法设置左侧的最小宽度?我试着用左侧的JPanel设置最小尺寸,使用setMinimumSizenew Dimension120,0;但它不起作用。好的,修好了我读到不可能设置s 使用setPreferredSizedimension设置中心元素的大小,但设置侧元素的大小。