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 :

Parcourir une liste a afficher


Sujet :

AWT/Swing Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de airballman
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    256
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 256
    Par défaut Parcourir une liste a afficher
    Bonjour, je suis tout nouveau sur le forum, et je quémande votre aide

    J'ai un projet à réaliser pour la fin du mois de juin, qui n'est pas trop mal avancé.Il s'agit de créer un labyrinthe dans lequel des fourmis vont évoluer pour trouver de la nourriture.
    Jusque la pas trop de problème, et je me suis attaqué dernierement a l'interface graphique. Et la je coince un peu sur un truc.

    Je cherche a afficher mon labyrinthe et mes fourmis dans le panelcentre.
    J'ai overrider la methode paintcomponent, et je me demande comment dire a mon copain java : prends chaque fourmi et dessine un rond la ou elle est.
    Mes fourmis sont dans une liste, et je me doute que je dois avoir une methode affiche a faire dans ma liste, et a reproduire dans mes noeuds. Mais je ne ovis pas laquelle.

    J'ai une classe fourmi, qui definit l'objet, une classe liste qui crée une liste chainee et une classe noeud.
    Chaque fourmi est placée dans un noeud, et la liste grandit au fur et a mesure des tours.


    Merci d'avance, hésitez pas a poser des questions si vous n'avez pas compris

  2. #2
    Membre chevronné Avatar de ngpub
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    449
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 449
    Par défaut
    Citation Envoyé par airballman Voir le message
    je me doute que je dois avoir une methode affiche a faire dans ma liste
    Perso, je ne mettrais rien concernant l'affichage dans les données.

    Après pour résoudre le problème, en gros il suffit (je sais, c'est simple à dire) de trouver comment convertir l'espace utilisé dans les calculs en espace cartésien (xy) et concrètement de cacher la formule dans une méthode de Panelcentre.

  3. #3
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 904
    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 904
    Billets dans le blog
    54
    Par défaut
    Voici un squelette pour un affichage basique.

    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
    31
    32
    33
    34
    35
    public class Panelcentre extends JPanel Panelcentre {
      // Permettra de dessiner des cercles.
      private Ellipse2D.Float ellipse = new Ellipse2D.Float();
     
      /** {@InheritDoc}
      */
      @Override protected void paintComponent(Graphics g) {
         // Appel a la super methode pour dessiner les bases du panel.
         super.paintComponent(g);
         Dimension size = getSize();
         // Un panel ca peut avoir une bordure, voir la classe Border.
         Insets insets = getInsets();
         int canvasWidth = size.width - (insets.left + insets.right);
         int canvasHeight = size.height - (insets.top + insets.bottom);
         // On se restreint a la zone de dessin.
         Graphics2D g2d = (Graphics2D)g.create(insets.left, insets.top, canvasWidth, canvasHeight);
         g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
         try {
           // On dessine le fond du panel.
           // On dessine le labyrinthe.
           [...]
           // On dessine les fourmis.
           for (Ant ant : antList) {
             float centerX = optionnalXMargin + width * (ant.x - simulationArea.minX) / (float)simulationArea.width; // (ou simulationArea.maxX - simulationArea.minX). Generalement simulationArea.minX == 0.
             float centerY = optionalYMargin + height * (ant.y - simulationArea.minY) / (float)simulationArea.height; // (ou simulationArea.maxY - simulationArea.minY). Generalement simulationArea.minY == 0.
             ellipse.setFrameFromCenter(centerX, centerY, centerX + 2, centerY + 2);
             // Et pis si on voulait faire un affichage optimise on verifierai que l'ellipse est bien affichee dans la zone de clip du Graphics avant de la dessiner
             g2d.setPaint(Color.BLACK); // ou g2d.setColor(Color.BLACK);
             g2d.fill(ellipse);
           }
         }
         finally {
           g2d.dispose();
         }
      }
    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 confirmé Avatar de airballman
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    256
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 256
    Par défaut
    Yahou!!

    Merci beaucoup pour les reponses, je n'ai pas eu l temps de revenir avant maintenant.
    Je vais essayer de faire comme vous m'avez dit.
    Je vous dis des que j'ai du nouveau!
    Merci encore

Discussions similaires

  1. [VBA-A] Choisir dans une liste modifiable & afficher le
    Par benjapar dans le forum VBA Access
    Réponses: 4
    Dernier message: 27/03/2006, 10h59
  2. [MySQL] Une liste déroulante affichant les données d'une requête SHOW par ordre alphabétique
    Par jack_1981 dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 22/12/2005, 15h53
  3. Parcourir une liste deroulante
    Par brandon dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 17/02/2005, 19h03
  4. parcourir une liste de la fin vers le début
    Par zdra dans le forum SL & STL
    Réponses: 12
    Dernier message: 06/02/2005, 18h40
  5. [langage] Parcourir une list de array
    Par nledez dans le forum Langage
    Réponses: 4
    Dernier message: 08/11/2004, 17h11

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