基础java中的pack()问题

来源:百度知道 编辑:UC知道 时间:2024/06/02 18:25:05
import java.awt.*;

public class ChatClient extends Frame {

TextField tfTxt = new TextField();

TextArea taContent = new TextArea();

public static void main(String[] args) {
new ChatClient().launchFrame();
}
代码中 pack()是什么意思···
在api 中 没查到 该方法
本人是菜鸟 希望那位指点哈·

public void launchFrame() {
setLocation(400, 300);
this.setSize(300, 300);
add(tfTxt, BorderLayout.SOUTH);
add(taContent, BorderLayout.NORTH);
pack();
setVisible(true);
}

}

代码中 的pack();方法

pack
public void pack()调整此窗口的大小,以适合其子组件的首选大小和布局。如果该窗口和/或其所有者还不可显示,则在计算首选大小之前都将变得可显示。在计算首选大小之后,将会验证该窗口。

api上,是从类 java.awt.Window 继承的方法,自己找找看

在你没有使用setSize()方法时候,系统会让窗口变成最合适的大小,系统感觉什么尺寸合适就自动改为什么样的,主要取决你控件的多少,越多呢,窗口会大,否则反之.

是缩紧的意思
就是不用设置窗体的大小
窗体的大小根据伱空间的大小产生

就是窗体把控件包围
没有留出多余的位置

pack
public void pack()调整此窗口的大小,以适合其子组件的首选大小和布局。如果该窗口和/或其所有者还不可显示,则在计算首选大小之前都将变得可显示。在计算首选大小之后,将会验证该窗口。

调用 pack()方法,你就不用去设置窗口的大小了.因为它可以自动的,把你放在窗口中的组件"包起来".也就是可以自动的帮你设置一个适当你的窗口大小,把其它的组件恰好放到窗口中