java Swing中的锚定和停靠控件
net中有一个名为锚定的控件,用于使用窗体动态调整控件的大小。将控件锚定到窗体并调整窗体大小时,控件将保持控件与锚定位置之间的距离 我的问题是,java中是否有控件具有与.net中锚定相同的功能。java Swing中的锚定和停靠控件,java,swing,Java,Swing,net中有一个名为锚定的控件,用于使用窗体动态调整控件的大小。将控件锚定到窗体并调整窗体大小时,控件将保持控件与锚定位置之间的距离 我的问题是,java中是否有控件具有与.net中锚定相同的功能。 例如,我选择了一个文本字段,将其放在面板上,并正确调整了大小。 现在,当我更改窗口(JFrame)的大小或最大化窗口时,textfield将不会保持与以前相同的距离。 我一直在使用netbeans,但我在pallete manager中没有找到任何可以回答我问题的属性。 请用一个例子或一些链接来解释我
例如,我选择了一个文本字段,将其放在面板上,并正确调整了大小。 现在,当我更改窗口(JFrame)的大小或最大化窗口时,textfield将不会保持与以前相同的距离。 我一直在使用netbeans,但我在pallete manager中没有找到任何可以回答我问题的属性。
请用一个例子或一些链接来解释我。Netbeans内置了对使用Matisse GUI builder设计GUI的支持。这是最接近于拖放式表单设计的一种,这种表单设计在VB等环境中可用
(就我个人而言,我并不十分喜欢这种方法,因为它会自动生成大量代码,这些代码很快就会变得不可维护,尤其是在开发团队中并非所有人都在使用Netbeans的情况下。)如果只有一个控件,那么最好使用
java.awt.BorderLayout
并使用BorderLayout.CENTER
添加控件
如果您有多个控件,则需要使用java.awt.GridBagLayout
您需要设置以下各项:
gridBagConstraints.anchor = GridBagConstraints.NORTHWEST;
gridBagConstraints.fill = GridBagConstraints.BOTH;
gridBagConstraints.weightx = 1;
gridBagConstraints.weighty = 1;
添加要重新调整大小的控件时
这里有一个关于它的教程:
Java Swing使用布局管理器来管理可视组件的大小和位置。 这是关于如何使用布局管理器的官方java教程: 并简要介绍了最常见的布局管理器 FlowLayout(默认):它从左到右和从上到下排列组件 边界布局:将集装箱分为北、南、西、东中心。只有一个组件的位置。边界上的构件展开,中心构件使用可用空间 GridLayout:初始化管理器,指示网格将有多少行和列。每个单元格都有相同的大小,您可以开始在左上角的单元格中添加组件 GridBagLayout:最细粒度的布局管理器,您可以用它做任何事情,但是有点复杂,请参阅java文档 NullLayout(当取消容器的布局管理器时):没有布局管理器,组件使用位置和大小属性在组件上显示 当然,其他容器中的容器可以使用与其父容器不同的布局管理器。组合布局管理器是一门很难学的艺术