> Tous les forums > Forum Autres langages
 grille sudokuSujet résolu
Ajouter un message à la discussion
Page : [1] 
Page 1 sur 1
gugus54
  Posté le 06/07/2013 @ 10:47 
Aller en bas de la page 
Petit astucien

bonjour

je suis entrain de développer un programme qui permet de résoudre les grilles de sudoku.

je l'ai déjà fait en VB, mais j'ai envie de le refaire en JAVA dans un souci de portabilité.

or des le début, j'ai un souci. je n'arrive pas à afficher les cases où on rentre les nombres. je ne comprend pas pourquoi.

voici mon code:



package sudoku;

import java.awt.Color;
import java.awt.Dimension;
import java.io.Console;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextField;
import org.omg.SendingContext.RunTime;


public class fenetre extends JFrame {
public JFrame fen; //NullPointerException
public JPanel panel[];
public JPanel conteneur;
public void fenetre(){
fen = new JFrame("résolveur de sudokus");
fen.setMinimumSize(new Dimension(270,220));
fen.setResizable(false);
fen.setVisible(true);
conteneur = new JPanel();
conteneur.setBounds(0,0,200,200);
conteneur.setLayout(null);
conteneur.setMinimumSize(new Dimension(200,200));
conteneur.setBackground(Color.WHITE);
fen.add(conteneur);
fen.setDefaultCloseOperation(EXIT_ON_CLOSE);
setGrille(); //NullPointerException
}
private void setGrille()
{
panel = new JPanel[9];

int i;
int p;
int o = 0;
int xb;
int yb = 0;
int q;
int x,y;

// Je fais d'abord apparaitre les 9 parties d'une grille


for(i=0;i<9;i++){
panel[i] = new JPanel();


for(y=1;y<3;y++)
{
for(x=1;x<3;x++)
{

}
}

if(o==0)
{
panel[i].setBackground(new Color(255,255,255));
o=1;
}
else if (o==1)
{
panel[i].setBackground(new Color(230,230,230));
o=0;

}
p=i;
yb=p/3;
xb=p-((p/3)*3);
if(yb>2)
System.out.println("exeption n° 1_"+i);
if(xb>2)
System.out.println("exeption n°2_"+i);
panel[i].setBounds(66*xb,66*yb,66,66);
conteneur.add(panel[i]);
}

// maintenant, les cases mais ca marche pas


JTextField casenombre[][] = new JTextField[8][8];
for(x=0;x<8;x++)
{
for(y=0;y<8;y++)
{
casenombre[x][y].setMinimumSize(new Dimension(20,20)); //le débogeur me trouve une erreur ici (NullPointerException)
casenombre[x][y].setText("0");
casenombre[x][y].setColumns(1);
casenombre[x][y].setBackground(Color.red);
casenombre[x][y].setBounds(x*22, y*22, 20, 20);

conteneur.add(casenombre[x][y]);

}
}
}
}

Lors de l'execution, le débogeur trouve une erreur NullPointerExeption là où j'ai indiqué + logiquement une erreur sur l'appel de cette méthode et sur la déclaration de la fenetre

Publicité
gugus54
 Posté le 06/07/2013 à 10:56 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

excusez moi pour ce post,

je viens de m'apercevoir que je n'avais pas initialisé le tableau à deux dimentions de JTextField

désolé encore

Page : [1] 
Page 1 sur 1

Vous devez être connecté pour poster des messages. Cliquez ici pour vous identifier.

Vous n'avez pas de compte ? Créez-en un gratuitement !


Sujets relatifs
 > Tous les forums > Forum Autres langages