Java .pack()有什么作用?

我正在学习JPanel和GridLayout,此代码段将生成带有6个按钮的简单JPanel

package testing;

import java.io.*;

import java.util.*;

import java.security.*;

import javax.xml.bind.DatatypeConverter;

import java.lang.*;

import java.awt.*;

import javax.swing.*;

public class Testing

{

public static class GridPanel extends JPanel

{

public GridPanel()

{

setLayout(new GridLayout(2,3));

setBackground(Color.GREEN);

this.setPreferredSize(new Dimension(500,500));

JButton b1 = new JButton ("Button 1");

JButton b2 = new JButton ("Button 2");

JButton b3 = new JButton ("Button 3");

JButton b4 = new JButton ("Button 4");

JButton b5 = new JButton ("Button 5");

JButton b6 = new JButton ("Button 6");

add(b1);

add(b2);

add(b3);

add(b4);

add(b5);

add(b6);

}

}

public static void main(String[] args)

{

GridPanel gp = new GridPanel();

JFrame jf = new JFrame();

jf.add(gp);

jf.pack(); //code wouldnt work if i comment out this line

jf.setVisible(true);

}

}

我想知道为什么如果我注释掉我的代码将不起作用 jf.pack()

回答:

打包方法调整框架的大小,以使其所有内容均等于或大于其首选大小。打包的另一种方法是通过调用setSize或setBounds(也设置帧位置)显式建立帧大小。通常,使用pack优于调用setSize,因为pack由框架布局管理器负责框架大小,并且布局管理器擅长调整平台依赖性和其他影响组件大小的因素。

以上是 Java .pack()有什么作用? 的全部内容, 来源链接: utcz.com/qa/432278.html

回到顶部