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

 Java Discussion :

Affichage avec des ''pixels''


Sujet :

Java

  1. #1
    Candidat au Club
    Inscrit en
    Mars 2009
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 2
    Points : 2
    Points
    2
    Par défaut Affichage avec des ''pixels''
    Bonjour je voudrais savoir comment faire une fenêtre dans laquelle
    l'on peut afficher des points à différentes coordonnées.
    D'habitude j'utilise des JOptionPane pour mes affichages graphiques,
    (je suis débutant...) mais je sais que les JOptionPane sont limités...
    Par affichage avec des ''pixels'', je veut dire des points me permettant de
    dessiner la courbe d'une fonction exponentielle par exemple.

    Merci d'avance!

    Ps: svp pas de : tu aurais du lire les tutos sur les JFrame avant de poster un message, ou quelque chose du genre. Je ne sais vraiment pas par quoi commencer ma recherche et la mer de tutoriels sur les interfaces graphiques me semble beaucoup trop vaste et profonde pour que je m'y lance sans boué.

  2. #2
    Membre éclairé Avatar de herch
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    655
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2006
    Messages : 655
    Points : 773
    Points
    773
    Par défaut
    salut,

    Ps: svp pas de : tu aurais du lire les tutos sur les JFrame avant de poster un message, ou quelque chose du genre. Je ne sais vraiment pas par quoi commencer ma recherche et la mer de tutoriels sur les interfaces graphiques me semble beaucoup trop vaste et profonde pour que je m'y lance sans boué.
    il te faudra bien un jour ou l'autre mettre le nez dans ces tutoriels, car il faut bien apprendre à nager pour pouvoir plonger à la mer ( des interfaces graphiques bien sûr )

    en ce qui concerne ton problème, supposons par exemple que tu veuille dessiner un petit carre à chaque endroit où l'utilisateur clique, tu devrais d'abord créer le composant qui servira de zone de dessin, dans mon exemple j'utilise une classe qui hérite de JPanel, ensuite tu redéfinis sa méthode paintComponent, et puis tu ajoutes ton composant à une JFrame

    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
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
     
    import javax.swing.*;
    import java.awt.*;
    import java.awt.event.*;
    import java.util.List;
    import java.util.ArrayList;
     
    class ZoneDessin extends JPanel
    {
    	//Liste qui contiendra les points correspondants aux carrés qu'on dessinera
    	List<Point> points = new ArrayList<Point>();	 
    	//On redéfinit la méthode qui est responsable de dessiner le JPanel
    	public void paintComponent(Graphics g)
    	{
    		for (Point p : points)
    		{
    			//A chaque point, on dessine un petit carre de 4 pixels
    			g.setColor(Color.RED);	//les carres seront de couleurs rouge
    			g.fillRect((int)p.getX(), (int)p.getY(), 4, 4);
    		}
    	}
    	ZoneDessin()
    	{
    		//On ajoute un MouseListener qui écoutera l'événement pression clic de la souris
    		//A chaque clic, on sauvegarde les coordonnées du clic pour y dessiner un carré
    		addMouseListener(new MouseAdapter()
    		{
    			public void mousePressed(MouseEvent me)
    			{
    				//on crée un nouveau objet Point qui contiendra les coordonnées du clic
    				//et on l'ajoutes à notre liste de points
    				points.add(new Point(me.getX(), me.getY()));
    				//On demande que ce composant soit redessiné
    				//pour pouvoir afficher le nouveau carré ajouté
    				repaint();
    			}
    		});
    	}
    }
    public class TestDessinPoint
    {	
    	public static void main(String[] args)
    	{
    		JFrame frm = new JFrame("Test dessin");
    		frm.add(new ZoneDessin());
    		frm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    		frm.setSize(800, 600);
    		frm.setVisible(true);
    	}
    }

  3. #3
    Membre éprouvé Avatar de Jidefix
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    742
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations forums :
    Inscription : Septembre 2006
    Messages : 742
    Points : 1 154
    Points
    1 154
    Par défaut
    Je te recommanderai bien l'API JFreeChart qui sert justement à faire des graphiques de type courbes, histogrammes, camemberts etc.

  4. #4
    Candidat au Club
    Inscrit en
    Mars 2009
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    Merci beaucoup herch! Je devrais être capable de me débrouiller maintenant.

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

Discussions similaires

  1. créer une fenêtre avec des pixels trasparentes
    Par mehdiing dans le forum AWT/Swing
    Réponses: 6
    Dernier message: 25/04/2008, 14h54
  2. [MySQL] Probleme d'affichage avec des checkbox
    Par napz dans le forum PHP & Base de données
    Réponses: 15
    Dernier message: 08/11/2006, 14h43
  3. Pb d'affichage avec des logic:iterate imbriqués
    Par mariemor64 dans le forum Struts 1
    Réponses: 8
    Dernier message: 20/07/2006, 15h44
  4. [Struts]personnaliser l'affichage avec des tags
    Par adrien.nicolet dans le forum Struts 1
    Réponses: 1
    Dernier message: 30/10/2005, 19h32
  5. Réponses: 6
    Dernier message: 19/10/2004, 13h46

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