Ir ao conteúdo
  • Cadastre-se

Jogo da Velha dando erro


Posts recomendados

Ola pessoal estou tentando desenvolver um jogo em Java, usando o JButton, crie a Grid tudo certinho esta rodando ! O problema e no método cria_Mat, onde tenho que atribuir as funcionalidades dos botões usando: 


 

addActionListener( new ActionListener() { @override public void actionPerformed(ActionEvent e){ 

Mas esta dando o seguinte erro ; 





 

--------------------Configuration: <Default>-------------------- 

C:\Tabuleiro.java:36: cannot find symbol 

symbol : class ActionListener 

location: class Tabuleiro 

mat[l][c].addActionListener( new ActionListener() { 



C:\Tabuleiro.java:46: cannot find symbol 

symbol : class ActionListener 

location: class Tabuleiro 

mat[l][c].addActionListener( new ActionListener() { 



2 errors 



Process completed. 

 



segue o codigo completo com erros;

 	 import java.awt.*;  	import javax.swing.*;    	import java.awt.Event.*;    	import javax.swing.border.EmptyBorder;    	  	    public class Tabuleiro extends JFrame{        	        JButton cor;  	        JButton[][]mat;  	        JPanel PainelJogo;  	        int jogador,caracter;  	        String simbolo;  	          	  	     public Tabuleiro(){  	      super("Jogo da Velha ");  	      ((JComponent)getContentPane()).setBorder(new EmptyBorder(5,5,5,5));  	            	        PainelJogo = new JPanel();  	        PainelJogo.setLayout(new GridLayout(3,3));  	        cor = new JButton();  	        cria_mat();  	          	                  	        	     }        	      	      	        public void  cria_mat(){              	        JButton mat[][] = new JButton[3][3];  	        for(int l=0;l<3;l++){          	            for(int c=0;c<3;c++){  	                mat[l][c] = newJButton("");                                                          	                mat[l][c].setFont(new Font("Calibri",Font.BOLD,70));  	                if(mat[l][c]==mat[0][0])  	                mat[l][c].addActionListener( new ActionListener() {                   	                @override  	                  	                public void actionPerformed(ActionEvent e){                  	                jogada(1);  	                }  	                   	              });  	            else  	               if(mat[l][c]==mat[0][1])  	                  mat[l][c].addActionListener( new ActionListener() {   	                  @override  	                  	                public void actionPerformed(ActionEvent e){                  	                jogada(2);  	                }  	                   	              });  	                     	                  	                PainelJogo.add(mat[l][c]);  	                  	                add(PainelJogo);  	                setLocation(470,200);  	                setSize(400,400);  	                setVisible(true);  	                  	              }    	           }           	          	    }   	      	    public void jogada(int caracter ){    	          	            	  	        if(jogador == 0){  	           simbolo = "X";  	           	         }else{  	              	           simbolo = "O";  	           jogador =0;  	             	          }  	            	          mat[caracter][caracter].setText(simbolo);  	          mat[caracter][caracter].setEnabled(false);  	              	        }  	          	          	    }  
Link para o comentário
Compartilhar em outros sites

cannot find symbol 

symbol : class ActionListener 

Traduzindo: "não encontrei a referência para ActionListener" 

Para este erro específico o import está errado, o correto é: "import java.awt.event.*;" com "E" minúsculo. 

Corrija o "@override" para "@Override" também.

O Cweiler, valeu era isso mesmo ; agora deu certo, mas  ainda tem mais   problemas, agora quando   atribuo as funçao  para  botões  so  funciona na posica  mat[0][0], se eu  mudar para   posicao mat[0][1] que no caso   seria o botao2 o programa nem  abre a janela  da um erro :

 

Exception in thread "main" java.lang.NullPointerException

at controle.Tabuleiro.<init>(Tabuleiro.java:43)
at controle.Tabuleiro.main(Tabuleiro.java:92)
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...