0
public PenApp() {
    super("PenApp");
    pack();
    setVisible(true);
    setVisible(false);
    pack();
    setResizable(false);
    pack();
    Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
    setLocation((d.width - CANVAS_SIZE) / 2, (d.height - CANVAS_SIZE) / 2);
    setSize(CANVAS_SIZE + getInsets().left + getInsets().right,
        CANVAS_SIZE + getInsets().top + getInsets().bottom);
    addWindowListener(new WindowAdapter() {
        public void windowClosing(WindowEvent e) {System.exit(0);}
    });

    img = Toolkit.getDefaultToolkit().getImage
        (getClass().getResource("penguin.gif"));
    img2 = Toolkit.getDefaultToolkit().getImage
        (getClass().getResource("kuwa.gif"));
    enableEvents(AWTEvent.MOUSE_EVENT_MASK);
    x = getInsets().left;
    y = getInsets().top;

    setVisible(true);
}

像这样的一段代码。我只是想知道为什么在这里使用几个 pack() 和 setVisible() 。谢谢 :)

4

1 回答 1

0

我们将物品放在容器中,我们可以通过 setSize 或 pack 设置它们的大小。pack 是可取的,因为它调整了框架的大小,所以它的所有内容都等于或高于它们的首选大小;pack 让框架布局管理器负责框架大小。

由于我们将一些 GUI 元素设置为不可见,我们不希望有空白空间,所以也许这就是它被一次又一次使用的原因。我会通过注释中间的所有包来运行该应用程序并验证它是否确实有必要。

于 2012-08-12T03:19:34.360 回答