在java中制作3乘3d数组

See*_*ker 1 java arrays swing

嗨,我刚刚使用数组,我在3乘3网格中创建2D数组时遇到的问题很少.

下面是我使用9个按钮创建的1D arrray示例,它正常工作,因为它显示了所有9个按钮.

    frame.setLayout(new GridLayout(3,3));
    JButton[] buttons = new JButton[9];

    for (int i = 0; i < buttons.length; i++){
        buttons[i] = new JButton();
        frame.add(buttons[i]);
        buttons[i].setText(".");
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试使用2D数组时,只显示12个按钮中的6个.

    frame.setLayout(new GridLayout(3,3));
            JButton[][] buttons = new JButton[3][3];
    for (int i = 0; i < buttons.length; i++){
        for (int j = 0; j < buttons.length; j++){
        buttons[i][j] = new JButton();
        frame.add(buttons[i][j]);
        buttons[i][j].setText(".");

        }
    }
Run Code Online (Sandbox Code Playgroud)

另外,我还有一个问题,要调用每个按钮,我需要这样做吗?

button[0].setText("button 1");
Run Code Online (Sandbox Code Playgroud)

并且还可以给每个按钮一个名称,例如代替按钮[0],是否可以使用button1,依此类推.

谢谢.

Emb*_*wag 6

你的第二个for循环for (int j = 0; j < buttons.length; i++)......它应该是j++,而不是i++.

另外,就像turbo指出的那样,3x3网格不足以容纳12个按钮(我假设你的意思是4x3或3x4?).另外,不要将两者i和jbuttons.length 进行比较,而应该有两个单独的变量来比较每个(buttonsWidth,buttonsLength; buttonsX,buttonsY等).