简单的按钮阵列不起作用

时间:2016-11-27 16:46:08

标签: java arrays button

我需要在学校创建一个简单的扫雷游戏。我想制作一个JButton-Array以方便使用。但它不起作用!我摔倒了,就像我在整个互联网上寻找解决方案一样!你能帮助我吗?这是代码:

public class Minesweeper extends Applet {

    public void init() {

        //Frameinitialiing

        JFrame frame = new JFrame("Minesweeper");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        int width = 800;
        frame.setSize(width, width);
        frame.setResizable(false);
        frame.setLocation(0,0);
        frame.setVisible(true);


        //Game

        JPanel panel = new JPanel();
        panel.setLayout(null);
        frame.add(panel);


        //Buttons

        int w = 80;

        JButton[][] button = new JButton[10][10];
        for (int i = 1; i == 9 ; i++ ) {

            for (int j = 1; j == 9 ; j++ ) {

                button[i][j].setBounds(i*80 , j*80 , w , w);
                this.add(button[i][j]);

            }
        }
    }
}

1 个答案:

答案 0 :(得分:1)

您的代码有很多需要更改的地方。但是我已经为你改变了它们:

    JFrame frame = new JFrame("Minesweeper");
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    int width = 800;
    frame.setSize(width, width);
    frame.setResizable(false);
    frame.setLocation(0,0);
    frame.setVisible(true);

    int w = 80;

    JButton[][] button = new JButton[10][10];
    for (int i = 0; i < 10 ; i++ ) {

        for (int j = 0; j < 10 ; j++ ) {
            button[i][j]  = new JButton();
            button[i][j].setBounds(i*80 , j*80 , w , w);
            frame.add(button[i][j]);

        }
    }

首先,for循环是错误的。你似乎弄乱了数字。这两个循环应该都是= 0< 10。另外,我删除了这三行:

    JPanel panel = new JPanel();
    panel.setLayout(null);
    frame.add(panel);

您忘记了使用new JButton()初始化按钮,所以我为您做了。

最后,它是frame.add(button[i][j])而不是this.add(button[i][j])

看起来像这样:

enter image description here