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 :

Modification d'un JPanel pixel par pixel


Sujet :

AWT/Swing Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Février 2006
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 34
    Par défaut Modification d'un JPanel pixel par pixel
    Bonjour,

    Je voudrais pouvoir afficher une fenêtre de 400 par 400 blanche au départ où je pourrais ensuite modifier la couleur de chaque pixel afin de tracer un nuage de point (dont j'ai les coordonnées dans un tableau).

    Je pensais faire un jpanel mais aprés je ne trouve pas la méthode qui me permettrait de modifier chaque pixel du jpanel.

    Merci d'avance pour votre aide.

    A++

  2. #2
    Membre chevronné Avatar de xixi31
    Inscrit en
    Juin 2005
    Messages
    423
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Juin 2005
    Messages : 423
    Par défaut
    je te conseille de jeter d'abord un coup d'oeil la dessus :
    http://duj.developpez.com/tutoriels/java/dessin/intro/

  3. #3
    Membre expérimenté

    Étudiant
    Inscrit en
    Mai 2006
    Messages
    200
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2006
    Messages : 200
    Par défaut
    Au niveau de la classe JComponent tu as cette méthode :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    public void paint(Graphics g)
    qui est appelée pour dessiner n'importe quel composant qui hérite de JComponent (c'est le cas de JPanel).
    g est le contexte graphique du composant.
    A partir du contexte graphique, tu peux dessiner. Voir la classe Graphics.

    Par contre, dans la classe Graphics, il me semble qu'il n'y a pas de méthode pour dessiner uniquement un pixel.
    Cependant, en dessinant une ligne ou rectangle qui n'a ni largeur ni hauteur, il me semble que ca marche.

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Février 2006
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 34
    Par défaut
    Merci beaucoup pour vos réponses. Je me suis mis au java récemment donc j'ai un peu du mal pour tout ce qui touche à l'interface graphique et au dessin.

    Bon dans tous les cas je vais essayer de me dépatouiller avec ça.

    A++

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Février 2006
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 34
    Par défaut
    J'ai lu les docs que vous m'avez conseillé et en effet ça m'a aidé à comprende pas mal de trucs par contre j'ai encore deux petites question :

    Pour dessiner mon composant la méthode paint(graphics g) est appelée mais le problème c'est que j'aimerais bien ajouter un argument à paint (ce qui apparemment n'est pas possible) pour pouvoir passer en argument un tableau à deux dimensions contenant les coordonnées en x et y des points à tracer.

    Pour être clair je souhaiterais faire un truc comme ça

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    public void paint(Graphics g, double tableau[][]) {
    		int x,y ;
    		Base A = new Base(0,0);
    	    Trans B = new Trans();
    	    CoordCarte C = new CoordCarte();
    		for(int i=0; i<360; i++) {
    			x = (int) Math.floor(tableau[i][1]);
    			y = (int) Math.floor(tableau[i][1]);
    			g.drawLine(x,y,x,y);
    		}
    Mais bon vu que je crois que ce n'est pas possible quelle serait l'autre méthode à adopter ???

    Merci

  6. #6
    Membre émérite Avatar de remika
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    806
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 806
    Par défaut
    Pout faire un nuage de points j'utiliserais une api de graphes genre JFreeChart, ça me parait plus simple...

Discussions similaires

  1. Réponses: 11
    Dernier message: 08/08/2006, 23h11
  2. Lecture de fichiers images pixels par pixels
    Par FabHacker dans le forum Langage
    Réponses: 3
    Dernier message: 26/11/2005, 16h12
  3. [ImageMagick] Parcourir une image pixel par pixel
    Par kip dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 05/10/2005, 14h10
  4. [VB6] [Graphisme] Transfert d'image pixel par pixel
    Par SpaceFrog dans le forum VB 6 et antérieur
    Réponses: 16
    Dernier message: 15/10/2002, 09h53

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