数组中的对应元素

时间:2016-05-14 03:25:41

标签: java swing tic-tac-toe

我想知道使用new创建一个JLabel对象,并将其放在数组中的相应元素中。 (grid [row] [col])表示。我正在创建一个Tic-Tac-Toe程序。我正在使用for循环来初始化网格。 这就是我对for循环所拥有的:

package tic.tac.toe;

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class TicTacToe extends JFrame implements ActionListener, MouseListener
{
 Container content = this.getContentPane();
 //Program Arrays
JLabel [][] grid = new JLabel[' '][' '];
char [][ ]game = new char [' '][' '];
// Graphical User-interface Fields
JButton restart = new JButton("Restart");
JPanel p = new JPanel();
JLabel status = new JLabel("Welcome to Tic-Tac-Toe");
//Primitive Fields
int numClicks = 0 ;
boolean isDone = false;
boolean isXTurn = true;

public TicTacToe()
{//GUI
    this.setVisible(true);
    this.setTitle("Tic-Tac-Toe");
    this.setSize(900,500);
    this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    //SetLayout

    //Add Status Label
    content.add(status);
    status.setOpaque(true);
    status.setBackground(Color.yellow);
    status.setForeground(Color.blue);
    status.setFont(new Font("Helvetica", Font.BOLD, 12));
    //Initailize the Main Panel
    p.setLayout(new GridLayout(3,3));
    p.setBackground(Color.black);
    content.add(p, BorderLayout.CENTER);
    //Initialize the grid
    for(int row = 0; row<=3;)
    {
        for (int col = 0; col<=3;)
        {
           JLabel lbl = new JLabel();
           grid[row][col] = lbl;
           grid[row][col].addMouseListener(this);
           grid[row][col].setOpaque(true);
           grid[row][col].setBackground(Color.white);
           grid[row][col].setFont(new Font("Helvetica", Font.BOLD, 39));
           p.add(grid[row][col]);



        }
    }

}





@Override
public void actionPerformed(ActionEvent ae) 
{

}

@Override
public void mouseClicked(MouseEvent me)
{

}

@Override
public void mousePressed(MouseEvent me)
{

}

@Override
public void mouseReleased(MouseEvent me) 
{

}

@Override
public void mouseEntered(MouseEvent me) 
{

}

@Override
public void mouseExited(MouseEvent me) 
{

}


public static void main(String[] args) {
    TicTacToe tTT = new TicTacToe();
}

}

1 个答案:

答案 0 :(得分:2)

我会给你一些提示,否则我不会帮你做作业:

  1. Java中的数组以这种方式定义:Type[] varName = new Type[NumberOfOccurences];或更多维度Type[][] varName = new Type[NumberOfOccurencesForDimension1][NumberOfOccurencesForDimension2];
  2. 将表放入一个维度的数组中需要按myArray[rowIndex * colIndex + colIndex] = objectToPutIn;
  3. 计算其索引
  4. 将表格放入两个维度的数组中是微不足道的:myArray[rowIndex][colIndex] = objectToPutIn;
  5. Java中的数组索引从0开始。因此,一个元素的数组位于索引0。