rastaprogram
Messages postés18Date d'inscriptionmercredi 18 février 2004StatutMembreDernière intervention27 janvier 2006
-
27 janv. 2006 à 18:04
bloofi
Messages postés388Date d'inscriptionmercredi 1 octobre 2003StatutMembreDernière intervention 3 mai 2006
-
30 janv. 2006 à 21:50
Voila, j'ai fais un petit prog qui trace des lignes toute bete.
Avec une pression sur le bouton de la souris je crée la ligne et
ensuite elle s'agrandit au fur et a mesure que le curseur bouge dans la
fenêtre. Une fois le bouton de souris relaché, la ligne est créée.
Le pb est lorsque je veux dessiner une ligne oblique, avec mon
programme elle ne se dessine que du haut gauche vers le bas droit.
Voici mon Code car les explications ne sont pas très clair (dsl !!!).
<hr size="2" width="100%">
import java.awt.*;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.event.MouseMotionListener;
import javax.swing.*;
public class Ligne extends JPanel{
int xDep,yDep,xArr,yArr;
int x,y;
public Ligne(){
setLayout(new BorderLayout());
addMouseListener(new PointeDessin());
addMouseMotionListener(new BougeDessin());
}
public void paint(Graphics g){
//super.paint(g);
g.setColor(Color.red);
g.drawLine(x,y,getWidth()-1,getHeight()-1);
}
public class PointeDessin implements MouseListener{
public void mousePressed(MouseEvent pointeur) {
xDep = pointeur.getX();
yDep = pointeur.getY();
}
public void mouseClicked(MouseEvent arg0) {}
public void mouseReleased(MouseEvent arg0) {}
public void mouseEntered(MouseEvent arg0) {}
public void mouseExited(MouseEvent arg0) {}
}
public class BougeDessin implements MouseMotionListener{
public void mouseDragged(MouseEvent pointeur) {
xArr = getX()+(pointeur.getX()-xDep);
yArr = getY() + (pointeur.getY()-yDep);
setBounds(xArr,yArr,getWidth(),getHeight());
repaint();
}
public void mouseMoved(MouseEvent arg0) {}
}
}
<hr size="2" width="100%">
import java.awt.*;
import java.awt.event.*;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class ZoneDeDessin extends JPanel{
int xDep=0,yDep=0,xArr=0,yArr=0,l=0,h=0;
Graphics g;
Ligne L;
public ZoneDeDessin(){
super();
setBackground(Color.cyan);
addMouseListener(new Souris());
addMouseMotionListener(new SourisBouge());
setLayout(null);
}
public void paint(Graphics g){
super.paint(g);
}
public class Souris implements MouseListener{
public void mousePressed(MouseEvent pointeur) {
xDep = pointeur.getX();
yDep = pointeur.getY();
xArr = xDep;
yArr = yDep;
L = new Ligne();
add(L);
}
public void mouseClicked(MouseEvent pointeur) {}
public void mouseReleased(MouseEvent arg0) {}
public void mouseEntered(MouseEvent arg0) {}
public void mouseExited(MouseEvent arg0) {}
}
public class SourisBouge implements MouseMotionListener{