如何调整大小并处理我的JFrame窗口?

时间:2013-12-11 04:02:30

标签: java swing

所以我正在修读我的第一门课程,而且我对我的最终项目感到难过。我必须从我的教授那里获得一个levelReader,从头开始创建Sokoban游戏。现在我的整个游戏都正常运行;瓷砖被绘制,玩家和盒子正确移动等。

但是,我有两个很小的问题。这些在最终提交时几乎可以被忽略,但我想弄清楚这一点,所以我有更深刻的理解。

所以我的两个问题是

a)在最后一个级别完成后(level == totalLevels,其中级别1是索引0),窗口将被处理并

b)我希望initLevel生成的每个新级别都可以调整窗口大小。

public void initLevel(int level) {
    if(level == totalLevels) { this.dispose(); } //incorrect, unsure what to use

    /* 
    .
    . BODY
    .
    */

    this.setPreferredSize(new Dimension(50*currentLevel.length, 50*currentLevel[0].length));
    //sets the window size initially but succeeding levels don't resize

    repaint();
}

public static void main(String args[]) {
    JFrame f = new JFrame("Sokoban");
    f.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
    f.setLayout(new FlowLayout());

    f.add(new Sokoban("levels.txt"));
    f.pack();
    f.setVisible(true);
}

从两个类中删除了无关的代码。

0 个答案:

没有答案