IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

2D Java Discussion :

Grille de Sudoku en Java


Sujet :

2D Java

  1. #1
    Membre chevronné Avatar de KindPlayer
    Profil pro
    Inscrit en
    Février 2007
    Messages
    471
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 471
    Par défaut Grille de Sudoku en Java
    Bonjour

    Je réalise actuellement un sudoku en java. J'en suis à l'interface graphique. Je dessine la grille à l'aide de la méthode drawLine. J'aimerais la rendre interactive, c'est à dire que lorsque l'utilisateur clique sur une case (induite par la grille que j'ai dessinée donc), la case devienne un champ de texte éditable. Comment réaliser ce dernier point? Pour etre plus clair voici comment j'ai redéfini la méthode paintComponent:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    public void paintComponent(Graphics g){
    		super.paintComponent(g);
    		for(int i = 0; i <= 9; i++) {
    		    g.drawLine(taille*i/9,0,taille*i/9,taille);
    		    g.drawLine(0,taille*i/9,taille,taille*i/9);
    		}
    		for(int i = 0; i <= 3; i++) {
    		    g.drawLine(taille*i/3+1,0,taille*i/3+1,taille);
    		    g.drawLine(0,taille*i/3+1,taille,taille*i/3+1);
    		    g.drawLine(taille*i/3-1,0,taille*i/3-1,taille);
    		    g.drawLine(0,taille*i/3-1,taille,taille*i/3-1);
    		}
    }

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    136
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 136
    Par défaut
    Bonjour,

    ce que tu veux faire me parait compliquer avec un dessin basé sur des lignes.
    Perso, je pencherai plus pour une JTable avec des cellules éditables (c'est prévu dedans).

    Cdlt

  3. #3
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 900
    Billets dans le blog
    54
    Par défaut
    Une JTable ? beurk !

    Fais la detection de l'emplacement du clic via un MouseListener et fais quelques divisions pour trouver la cellule appropriee. Ensuite :
    - Tu peux soit genere la saisie toi-meme (pas bien dur de dessiner un caret clignotant et d'utiliser un KeyListener*)
    - Tu met un layout null sur ton panel. Quand tu detectes un clic tu positionnes un champs texte aux bonne dimensions et au bon endroit (setBounds()).

    *Il est possible que le panel ait besoin d'avoir le focus pour detecter les evenements claviers.
    Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.

    suivez mon blog sur Développez.

    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    136
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 136
    Par défaut
    Bonjour,

    Citation Envoyé par bouye Voir le message
    Une JTable ? beurk !
    Pourquoi beurk?????????

    Tous les méchanismes de listener sont déja en place, ainsi que l'édition et le découpage en lignes et colonnes. C'est tout à fait approprié.

    Cdlt

  5. #5
    Membre chevronné Avatar de KindPlayer
    Profil pro
    Inscrit en
    Février 2007
    Messages
    471
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 471
    Par défaut Merci pour vos réponses
    J'ai eu plus ou moins la même idée que toi bouye, mais j'avais pas pensé au keyListener (je débute en java et en swing/awt). J'vais essayer de faire qq chose avec tout ca.

  6. #6
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 900
    Billets dans le blog
    54
    Par défaut
    Les listener, etc... oui, l'aspect non, l'ergonomie non, etc... Je sais tres bien qu'on peut faire un sudoku, un puissance 4, un morpion ou meme un demineur avec une JTable mais ce n'est certainement pas ce que j'utiliserai pour faire un joli jeu avec de beaux graphismes 2D (ou 3D).

    Contrairement a ce que la plupart des gens pensent, faire une grille 2D n'est pas tres complique non-plus (bien moins que de comprendre comment une JTable fonctionne en fait).
    Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.

    suivez mon blog sur Développez.

    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook

Discussions similaires

  1. [Débutant] Programmer le jeu Sudoku en Java
    Par whally dans le forum Graphisme
    Réponses: 5
    Dernier message: 04/03/2011, 09h53
  2. Résoudre grille de Sudoku
    Par Dimitri_87 dans le forum Algorithmes et structures de données
    Réponses: 4
    Dernier message: 29/08/2006, 11h43
  3. [VB6]Afficher une grille de Sudoku
    Par epaminondas dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 07/03/2006, 17h36
  4. Dessiner un grille de sudoku
    Par etranger dans le forum AWT/Swing
    Réponses: 4
    Dernier message: 17/02/2006, 09h24
  5. générer grille de sudoku sans disjoncteur
    Par javatwister dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 30/12/2005, 16h15

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo