我正在学习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(),为什么我的代码不能工作
发布于 2014-04-10 16:12:13
pack方法调整框架的大小,使其所有内容都等于或大于它们的首选大小。pack的另一种选择是通过调用setSize或setBounds (这也设置帧位置)来显式地确定帧大小。通常,使用pack比调用setSize__更可取,因为pack让框架布局管理器负责框架大小,并且布局管理器擅长根据平台依赖项和其他影响组件大小的因素进行调整。
来自Java tutorial
当您需要有关任何Java API的其他信息时,还应该参考Javadocs
发布于 2020-06-25 11:06:54
pack()方法是在Java中的Window类中定义的,它调整框架的大小,使其所有内容都等于或大于它们的首选大小。
https://stackoverflow.com/questions/22982295
复制相似问题