BOUDALIZ
Messages postés14Date d'inscriptionmercredi 11 août 2010StatutMembreDernière intervention18 août 2010
-
11 août 2010 à 00:19
Kidator
Messages postés16Date d'inscriptiondimanche 6 juin 2010StatutMembreDernière intervention31 août 2010
-
16 août 2010 à 04:14
Bonjour,
Je suie entrain d'implémenter le jeu SUDOKU en java.
J'ai crée une barre de menu et j'aimerais créer une barre d'outils.
J'espère que vous m'aidiez.
MERCI D'AVANCE.
BOUDALIZ
Messages postés14Date d'inscriptionmercredi 11 août 2010StatutMembreDernière intervention18 août 2010 11 août 2010 à 15:18
Je vous remercie pour votre aide, mais j'obtiens à chaque fois une barre décalée. Est-ce-que je ne peux pas l'afficher dés le début dans la bonne position et changer les dimensions des bouttons?
J'ai essayé add(scrollPane, BorderLayout.CENTER);
mais ça n'a pas marché.
MERCI d'avance.
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013130 11 août 2010 à 15:24
Salut,
Si tu utilise un borderLayout, positionne-le plutôt au nord plutôt qu'au centre si tu ne veux pas le voir décaler.
______________________________________
AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
public void displayGame()
{
for(int i=0; i<81; i++)
{
if(game.fixe[i])
{
Entries[i].setForeground(Color.white);
Entries[i].setText(Long.toString(game.solution[i]));
}
else
{
/* reset the fg color */
Entries[i].setForeground(Color.black);
Entries[i].setText("");
}
}
}
public int newGame()
{
do
game = new Sudoku(0);
while( ! game.backTrack());
displayGame();
return 1;
}
/* to implement the moves between cells */
private class EntryListener implements KeyListener
{
private int x;
private int y;
public EntryListener(int x, int y)
{
this.x = x;
this.y = y;
}
/* Handle the key pressed event from the text field. */
public void keyPressed(KeyEvent e)
{
int key = e.getKeyCode();
switch(key)
{
case KeyEvent.VK_DOWN:
{
if(x<9)
Entries[(x+1)*9+y].requestFocus();
break;
}
case KeyEvent.VK_UP:
{
if(x>0)
Entries[(x-1)*9+y].requestFocus();
break;
}
case KeyEvent.VK_LEFT:
{
if(y>0)
Entries[x*9+y-1].requestFocus();
break;
}
case KeyEvent.VK_RIGHT:
{
if(y<9)
Entries[x*9+y+1].requestFocus();
break;
}
}
}
/* Handle the key typed event from the text field. */
public void keyTyped(KeyEvent e)
{
int id = e.getID();
if (id == KeyEvent.KEY_TYPED)
{
char c = e.getKeyChar();
if( (int)c >= 49 && (int)c <= 57 )
if( game.noConflict(x*9+y, (int)c - 48 ))
Entries[x*9+y].setText(""+c);
String val_texte = Entries[x*9+y].getText();
float val = Float.parseFloat( val_texte );
public void actionPerformed( ActionEvent e) {
JOptionPane.showMessageDialog( null," Le but est de remplir toutes les cases de la grille\n en n'utilisant que les chiffres de 1 à 9.\n Chaque mini-grille de 3*3 doit contenir 9 chiffres differents\n et il est interdit de placer deux fois le même chiffre\n sur la même ligne ou sur la même colonne...", " Règles",1);
}}
public class EffacerGrille implements ActionListener {
public boolean noConflict( int n, int value)
{
int i = n / 9;
int j = n % 9;
for(int k=0; k<9; k++)
{
/* teste la ligne (on itere sur les colonnes) */
if (k !j && this.values[i*9+k] value)
return false;
/* teste la colonne (on itere sur les lignes) */
if (k !i && values[k*9+j] value)
return false;
}
for( int l = i/3*3; l < i/3*3+3; l++)
for(int m = j/3*3; m < j/3*3+3; m++)
if (l!=i && m!=j && this.values[l*9+m] == value)
return false;
return true;
}
public boolean noConflictSol( int n, int value)
{
int i = n / 9;
int j = n % 9;
for(int k=0; k<9; k++)
{
/* teste la ligne (on itere sur les colonnes) */
if (k !j && solution[i*9+k] value)
return false;
/* teste la colonne (on itere sur les lignes) */
if (k !i && solution[k*9+j] value)
return false;
}
for( int l = i/3*3; l < i/3*3+3; l++)
for(int m = j/3*3; m < j/3*3+3; m++)
if (l!=i && m!=j && solution[l*9+m] == value)
return false;
return true;
}
/* returns false if no solution has been found
* returns true if a solution has been found
*/
public boolean backTrack()
{
int i;
for( i=0; i<81; solution[i] = values[i++] );
i = 0;
while(i<=80)
{
if(fixe[i])
i++;
else
{
if(solution[i] == 0)
solution[i] = 1;
else
solution[i] = solution[i]+1;
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013130 11 août 2010 à 17:41
Salut,
Montre nous juste le bout de code où tu crée ton JToolBar, car là c'est un peu indigeste de devoir tout ton code juste pour trouver le petit bout de code.
______________________________________
AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
BOUDALIZ
Messages postés14Date d'inscriptionmercredi 11 août 2010StatutMembreDernière intervention18 août 2010 11 août 2010 à 17:52
D'accord, et je ne sais pas s'il y a une possibilité de vous envoyer un imprime écran pour voir le code compilé.
public void initBar(){
private JToolBar toolBar = new JToolBar();
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013130 11 août 2010 à 17:57
Salut,
Je vois pas l'endroit dans ton code où tu définit un BorderLayout.
Je ne vois qu'un GridBagLayout.
Il faut que tu enlève les paddings pour la case contenant ton JToolBar pour enlever les espacements automatiques.
______________________________________
AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement