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 :

[Graphics2D] Quadrillage d'un tableau invisible


Sujet :

2D Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Janvier 2006
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 49
    Par défaut [Graphics2D] Quadrillage d'un tableau invisible
    Bonjour,

    Je voudrais colorier mon tableau mais sans perdre le quadrillage noir du tableau... et ce que j'ai fait ne fonctionne pas...j'ai la couleur mais plus le quadrillage...
    Avez-vous une idée ?
    J'ai déjà essayé d'inverser l'ordre : dessiner/colorier et colorier/dessiner mais le résultat reste le même...

    Voici mon code :
    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
     
    public void paintComponent(Graphics g){
            super.paintComponent(g);
            Graphics2D g2 = (Graphics2D)g;
     
            int i=0, j=0;
            double cote = 50;
            g2.setPaint(Color.BLACK);
            for (i=0; i <= 12; i++){
                for(j=0; j <= 12; j++){
                    Rectangle2D rect = new Rectangle2D.Double(cote, cote, cote*j,cote*i );
                    g2.setPaint(Color.LIGHT_GRAY);
                    g2.fill(rect);
                    g2.setPaint(Color.BLACK);
                    g2.draw(rect);
                }
           }
    }
    sachant que la couleur de la case va changer en fonction de la valeur d'un tab[i][j]...

    Merci d'avance
    Arnapou

  2. #2
    Membre éprouvé
    Avatar de mavina
    Homme Profil pro
    Développeur Java
    Inscrit en
    Octobre 2004
    Messages
    1 812
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Chine

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2004
    Messages : 1 812
    Par défaut
    Salut,

    Simple idée comme ça : ton rectangle coloré que tu draw, ne passe pas au dessus des lignes du rectangle que tu viens de tracer avec fill ? Si c'est ça, réduits le un chouilla pour récupérer les lignes... Ce n'est qu'une idée comme ça

    mavina

  3. #3
    Membre confirmé
    Inscrit en
    Décembre 2005
    Messages
    117
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 117
    Par défaut
    Ahah! j'ai déjà eu ce problème!

    Le fill rect rempli un rectangle, ok...
    Le Draw rect est sensé dessiner un rectangle par dessu... ok

    sauf que tu utilises un Rectangle2D, donc avec des coordonnées doubles. Le raster du Graphics éssaye d'afficher les doubles mais c pas top. Pour savoir si c'est réellement le problème, éssaye de définir la taille du trait avec un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    g2.setStroke( new BasicStroke(4.0f) );
    Si tu vois quelque chose tu connais le problème. Sinon aucune idée, le code est juste...

  4. #4
    Membre Expert
    Avatar de xavlours
    Inscrit en
    Février 2004
    Messages
    1 832
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 1 832
    Par défaut
    Le code, je suis pas tout à fait sûr : il ne faudrait pas remplacer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Rectangle2D rect = new Rectangle2D.Double(cote, cote, cote*j,cote*i );
    qui dessine des rectangles au même endroit mais de plus en plus grands par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Rectangle2D rect = new Rectangle2D.Double(cote*j, cote*i, cote, cote);
    qui dessine des carrés à des endroits variant comme les cases d'un tableau ?
    "Le bon ni le mauvais ne me feraient de peine si si si je savais que j'en aurais l'étrenne." B.V.
    Non au langage SMS ! Je ne répondrai pas aux questions techniques par MP.
    Eclipse : News, FAQ, Cours, Livres, Blogs.Et moi.

  5. #5
    Membre confirmé
    Inscrit en
    Décembre 2005
    Messages
    117
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 117
    Par défaut
    Citation Envoyé par xavlours
    Le code, je suis pas tout à fait sûr : il ne faudrait pas remplacer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Rectangle2D rect = new Rectangle2D.Double(cote, cote, cote*j,cote*i );
    qui dessine des rectangles au même endroit mais de plus en plus grands par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Rectangle2D rect = new Rectangle2D.Double(cote*j, cote*i, cote, cote);
    qui dessine des carrés à des endroits variant comme les cases d'un tableau ?
    Euh... non là tu risque de créer une multitudes de rectangles superposés dont la taille change... non?

  6. #6
    Membre Expert
    Avatar de xavlours
    Inscrit en
    Février 2004
    Messages
    1 832
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 1 832
    Par défaut
    Citation Envoyé par ypicman
    Euh... non là tu risque de créer une multitudes de rectangles superposés dont la taille change... non?
    C'est ce qu'il fait actuellement, d'où son problème.

    La javadoc précise bien l'ordre des paramètres : x, y, w, h
    - x la position en abscisses
    - y la position en ordonnées (décroissantes)
    - w la largeur
    - h la hauteur.
    "Le bon ni le mauvais ne me feraient de peine si si si je savais que j'en aurais l'étrenne." B.V.
    Non au langage SMS ! Je ne répondrai pas aux questions techniques par MP.
    Eclipse : News, FAQ, Cours, Livres, Blogs.Et moi.

Discussions similaires

  1. [MySQL] Afficher des résultat sous form de tableau invisible ?
    Par tentsuken dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 01/01/2008, 15h18
  2. [8.5] conception tableau avec quadrillage
    Par kikidrome dans le forum SAP Crystal Reports
    Réponses: 24
    Dernier message: 20/06/2007, 15h58
  3. Pb birt_viewer dernière ligne tableau invisible
    Par zope49 dans le forum BIRT
    Réponses: 1
    Dernier message: 23/10/2006, 15h06
  4. [Tableaux] Quadrillage d'un tableau
    Par guy2004 dans le forum Langage
    Réponses: 15
    Dernier message: 15/05/2006, 11h05
  5. [débutant] Quadrillage d'un tableau
    Par MatMeuh dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 14/10/2004, 11h14

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