0

我在这里有一个 JFrame:

import javax.swing.JFrame;

public class Game extends JFrame {
    private static final long serialVersionUID = -7919358146481096788L;
    Arena a = new Arena();
    public static void main(String[] args) {
        new Game();
    }
    private Game() {
        setTitle("Insert name of game here");
        setLocationRelativeTo(null);
        setLayout(null);
        setDefaultCloseOperation(EXIT_ON_CLOSE);
        add(a);
        pack();
        setResizable(false);
        setVisible(true);
    }
    private void refresh() {

    }
}

Arena是一个JPanel:

import java.awt.Dimension;

import javax.swing.JPanel;

public class Arena extends JPanel {
    private static final long serialVersionUID = 6499922741928110264L;
    byte[][] world = new byte[6000][2000];
    int blockPix = 20;
    int x = 2999 * blockPix, y = 999 * blockPix;
    public Arena() {
        setLayout(null);
        setMinimumSize(new Dimension(600, 600));
        setMaximumSize(new Dimension(600, 600));
        setPreferredSize(new Dimension(600, 600));
    }
}

然而,JFrame 的大小最终是 0 x 0!

4

2 回答 2

2

您应该删除构造函数中的setLayout(null);指令Game

于 2012-08-13T16:09:52.497 回答
0

也许您可以setSize(600, 600);在构造函数中进行所有其他修复的地方?

于 2012-08-13T15:48:29.537 回答