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 に答える