Comment utiliser repaint() avec paintComponents

Résolu
cs_grelon Messages postés 9 Date d'inscription vendredi 20 février 2004 Statut Membre Dernière intervention 4 avril 2006 - 31 mars 2006 à 16:17
meknour Messages postés 10 Date d'inscription mercredi 11 mai 2011 Statut Membre Dernière intervention 25 décembre 2011 - 11 mai 2011 à 15:29
Bonjour

Petit problème en java vu que je découvre le graphisme.

Voila tout est dit dans la question ^^.Vu que j'utilise swing, me suis
dit qu'il valait mieux utiliser paintComponents mais bon le problème
c'est que j'aimera rafraichir ce qu'il y a dedans donc en utilisant
repaint() mais ca a pas l'air de marché.



J'ai une jframe dans laquelle j'ai collé un jpanel .Dans ce Jpanel je dessine une ligne .

Puis en fait mon application fait que quand je bouge la souris la ligne
s'aggrandit ou retrécit, d'ou la necessité d'utiliser repaint.



Merci pour la futur aide apportée ^^
A voir également:

7 réponses

cs_nomad56 Messages postés 54 Date d'inscription samedi 16 avril 2005 Statut Membre Dernière intervention 13 avril 2006 1
1 avril 2006 à 02:07
import java.awt.BorderLayout;
import java.awt.Graphics;
import java.awt.Point;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.util.Vector;

import javax.swing.JFrame;
import javax.swing.JPanel;

public class Dessin extends JPanel implements MouseListener {
Vector v = null;

Point p = null;

public Dessin() {
super();
v = new Vector();
p = new Point();

p.x = 0;
p.y = 0;

v.add(new Point(p));

this.addMouseListener(this);
}

public void mouseClicked(MouseEvent e) {
p.x = e.getX();
p.y = e.getY();
v.add(new Point(p));
repaint();
}

protected void paintComponent(Graphics g) {
// TODO Auto-generated method stub
super.paintComponent(g);
int x1, x2, y1, y2;
for (int i = 1; i < v.size(); i++) {
x1 = ((Point) v.elementAt((i - 1))).x;
y1 = ((Point) v.elementAt((i - 1))).y;
x2 = ((Point) v.elementAt(i)).x;
y2 = ((Point) v.elementAt(i)).y;
g.drawLine(x1, y1, x2, y2);
}
}

public void mousePressed(MouseEvent arg0) {
// TODO Auto-generated method stub
}

public void mouseReleased(MouseEvent arg0) {
// TODO Auto-generated method stub
}

public void mouseEntered(MouseEvent arg0) {
// TODO Auto-generated method stub

}

public void mouseExited(MouseEvent arg0) {
// TODO Auto-generated method stub

}

public static void main(String[] args) {
Dessin dessin = new Dessin();
JFrame jf = new JFrame();

jf.setSize(640, 480);

jf.getContentPane().setLayout(new BorderLayout());
jf.getContentPane().add(dessin, BorderLayout.CENTER);

jf.setVisible(true);
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
3