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

AWT/Swing Java Discussion :

Une grille en java


Sujet :

AWT/Swing Java

  1. #1
    Membre habitué Avatar de Willy55
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    188
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 188
    Points : 131
    Points
    131
    Par défaut Une grille en java
    Bonjour,

    J'aurais besoin de conseil pour la réalisation d'un projet assez conséquent et pour lequel j'ai du mal a démarrer. Je dois réaliser une interface graphique en java, une sorte de grille avec des cases ou dans cette grille je placerai une petite image (d'une bestiole quelconque, une fourmi par exemple) et cette image se baladera aléatoirement sur cette grille. Le problème c'est que je ne sais pas comment réaliser cette grille "dynamique" en quelque sorte... je piétine.

    J'ai d'abord voulu le faire avec un tableau, puis je me suis orienté vers un gridLayout dérivant de JPanel mais le problème c'est qu'on ne peut pas gérer la position avec les gridLayout les objets sont rentré dans l'ordre donc mon image sera placé dans la première case alors que je voudrais la mettre au milieu et la faire bouger de manière aléatoire de case en case. Le problème est le même pour le gridBagLayout visiblement.

    Comment puis-je réaliser cette fameuse grille ou je pourrai placer mon élément a un endroit donné puis le déplacer ?

    Quelques indications ne serait pas de refus. Merci

  2. #2
    Membre du Club
    Homme Profil pro
    Inscrit en
    Septembre 2003
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations forums :
    Inscription : Septembre 2003
    Messages : 69
    Points : 59
    Points
    59
    Par défaut
    Salut,

    Si j'étais à ta place je n'essayerais pas de faire ça avec des composants swings, mais je dessinerais la grille dans un backbuffer (c'est-à-dire une BufferedImage). Puis, à intervalles réguliers, je redessinerais le contenu du backbuffer dans le composant affiché à l'écran, par exemple un JPanel dans la JFrame. Comme ça t'as entière liberté de dessiner comme t'en as envie avec la classe Graphics dans la BufferedImage.
    Pascal

  3. #3
    Membre habitué Avatar de Willy55
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    188
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 188
    Points : 131
    Points
    131
    Par défaut
    Oui mais le but après c'est de faire une IA ensuite, donc d'avoir une grille que je peux contrôler avec "aller a gauche" et hop mon image se déplace d'une case vers la gauche. Vraiment l'idée c'est d'avoir une sorte de tableau ou je peux déplacer mon élément facilement de case en case.

    Avec ta solution je ne m'oriente pas vraiment vers ça ? Non ?

  4. #4
    Membre du Club
    Homme Profil pro
    Inscrit en
    Septembre 2003
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations forums :
    Inscription : Septembre 2003
    Messages : 69
    Points : 59
    Points
    59
    Par défaut
    Si bien sûr. Comme ton backbuffer est redessiné à intervalles réguliers, tu peux tout à fait utiliser les variables de position de ta fourmi pour redessiner celle-ci à des endroits différents de la grille. La boucle de dessin ressemblerait au pseudo-code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    void draw()
    {
        // dessin du fond
        g.setColor(...);
        g.fillRect(0,0,backbufferSizeX, backbufferSizeY);
     
        // dessin des lignes de la grille
        g.setColor(...);
        for (...) for (...) g.drawLine(...);
     
        // dessin de la forumi
        g.drawImage(fourmi, fourmiPosX, fourmisPosY, ...);
    }
    Après tu peux contrôler la position de ta fourmi avec des événements clavier par ex. ou avec une IA, comme tu souhaites le fait, qui modifierait fourmiPosX et fourmiPosY en fonction de conditions internes au programme.
    Pascal

  5. #5
    Membre habitué Avatar de Willy55
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    188
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 188
    Points : 131
    Points
    131
    Par défaut
    D'accord, je vois je vais essayer

    Merci pour tes explications !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Affichage d'une grille en Java
    Par chocoboy dans le forum Graphisme
    Réponses: 15
    Dernier message: 04/09/2014, 23h43
  2. Insérer une grille directement en Java.
    Par jberdat dans le forum BIRT
    Réponses: 1
    Dernier message: 29/05/2008, 23h59
  3. : Adapter la taille d'une grille
    Par SteelBox dans le forum C++Builder
    Réponses: 3
    Dernier message: 31/07/2003, 07h08
  4. Désactiver la multi-sélection d'une grille
    Par Riko dans le forum Composants VCL
    Réponses: 6
    Dernier message: 17/06/2003, 09h47
  5. jaimerais savoir commen creer une grille.......
    Par zephyr dans le forum Flash
    Réponses: 5
    Dernier message: 29/04/2003, 12h14

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