2016-05-14 2 views
1

Мне было интересно, что Создайте объект JLabel, используя новый, и поместите его в соответствующий элемент массива. (сетка [ряд] [col]) означает. Я создаю программу Tic-Tac-Toe. Я использую цикл 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(); 
} 

}

+0

Что вы ставите под сомнение, мне непонятно –

+0

Это явно домашняя помощь, и вы выдвинули нулевое усилие. –

+0

@ChristopherSchneider Мне не хотелось вводить весь код, потому что он слишком длинный, но вот что у меня на самом деле есть – dude546546575

ответ

2

Я дам вам несколько советов, в противном случае это не поможет, я бы сделать свою домашнюю работу:

  1. Массивы в Java определены следующим образом: Type[] varName = new Type[NumberOfOccurences]; ИЛИ другие размеры Type[][] varName = new Type[NumberOfOccurencesForDimension1][NumberOfOccurencesForDimension2];.
  2. Ввод таблицы в массив одного измерения необходимо вычислить индекс по myArray[rowIndex * colIndex + colIndex] = objectToPutIn;
  3. Ввода таблицы в массив из двух размеров тривиально: myArray[rowIndex][colIndex] = objectToPutIn;
  4. Индекса массива в Java начинается с 0. Так массива один элемент находится в индексе 0.
+0

Большое спасибо ...... Это помогает alot =) – dude546546575

+0

О, кстати, у меня был мой оригинальный код, его просто, что одна из моих ячеек больше, чем другие ... – dude546546575

+0

Рад слышать, что ваш на хорошем пути для его достижения. –

Смежные вопросы