Bonjour
Je suis en train de m'amuser à créer une interface graphique à un résolveur de Sudoku que j'avais créé pour la fac il y a quelques années (ça se dit, résolveur? Wikktionnaire me dit que oui, mais mon correcteur orthographique n'est pas d'accord... Bref... ).
Bref, tout se passe bien, sauf que je me retrouve avec un soucis étrange, mais plutôt gênant: ma dernière case n'est pas formatée, et sélectionner le fond de ma fenêtre fait disparaître l'ensemble des cases, qui réapparaissent lorsque qu'on les sélectionnent. Étrange problème que j'ai du mal à formuler de manière concise pour le googler, je viens donc voir si quelqu'un pouvait avoir l'amabilité m'éclairer sur la gourde que j'ai pu faire.
Chose bizarre, il me renvoie un pointeur nul sur this.gameGrid[8][8], alors que faire l'opération en manuel fonctionne parfaitement.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30 public SudokuDisplayer(int[][] value, int timer){ super("Sudoku Solver"); this.value = value; this.timer = timer; this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.setSize(new Dimension(this.windowsSize,this.windowsSize)); this.setLocation((java.awt.Toolkit.getDefaultToolkit().getScreenSize().width-this.windowsSize)/2,(java.awt.Toolkit.getDefaultToolkit().getScreenSize().height-this.windowsSize)/2); for(int i=0;i<this.gameGrid.length;i++){ for(int j=0;j<this.gameGrid.length;j++){ if(value[i][j] != 0){ try { this.gameGrid[i][j]= new JFormattedTextField(new MaskFormatter("#")); } catch (ParseException e) { // TODO Auto-generated catch block e.printStackTrace(); } this.gameGrid[i][j].setBounds((int) (i*this.windowsSize*0.102), (int) (j*this.windowsSize*0.102), (int)(this.windowsSize*0.090), (int) (this.windowsSize *0.090)); this.gameGrid[i][j].setText(value[i][j]+""); this.gameGrid[i][j].setFocusLostBehavior(JFormattedTextField.PERSIST); this.add(this.gameGrid[i][j]); } } } this.setVisible(true); }
Images du bug, si besoin: http://img15.hostingpics.net/pics/694527bug1.png
Le chiffre de la dernière case apparaît en 5eme ligne, 1 colonne, en superposition avec le chiffre de cette case.
J'efface le contenu de la case buggée et ... oups! Il n'a pas aimé!
http://img4.hostingpics.net/pics/339002bug2.png
Je pensais que le fait d'écrire le tout noir sur blanc m'aiderait à trouver la faute. Arg,bah non. Puisque j'en suis là, autant poster le message.
Si quelqu'un me trouve la bêtise, il gagne un bon point
Fausse alerte, ce n'est pas résolu![]()
Partager