cs_walid2012
Messages postés2Date d'inscriptiondimanche 29 février 2004StatutMembreDernière intervention14 avril 2006
-
14 avril 2006 à 12:17
Aethan
Messages postés50Date d'inscriptionjeudi 27 avril 2006StatutMembreDernière intervention 4 mai 2006
-
27 avril 2006 à 15:28
bonjour ,
enfin j'ai realiser une petite application qui dessine un rectangle,mais mon but est de pouvoir le selectionner et adjuster(comme ca se fait avec photoshop...ou quel editeur de dessin.)
pourriez vous m'aidez car g passé plusieurs heurs de recherche mais sans resultat.
merci.
en voila mon code source de cette application:
import java.awt.*;
import java.awt.event.*;
public class Editeur extends Frame implements ActionListener,ItemListener,MouseMotionListener,MouseListener
{
Button b1;
Button b2;
Button b3;
Button b4;
Canvas c;
Choice cFond;
Choice cText;
String boutonchoisi="Ligne";
int x;
int y;
int lastX;
int lastY;
Color couleurFond=Color.blue;
Color couleurText=Color.yellow;
//constructeur
public Editeur(){
setTitle("Mon Editeur de dessin");
setLayout(new FlowLayout());
Panel p1=new Panel(new GridLayout(8,1,30,5));
//creation des choix de couleur cFond
cFond=new Choice();
cFond.add("Bleu");
cFond.add("Noir");
cFond.add("Rouge");
cFond.add("Vert");
p1.add(new Label("couleur de fond"));
p1.add(cFond);
//implemation de mouseListener
public void mouseClicked(MouseEvent e){}
public void mouseEntered(MouseEvent e){}
public void mouseExited(MouseEvent e){}
public void mousePressed(MouseEvent e){
lastX=e.getX();
lastY=e.getY();
x=lastX;
y=lastY;
}
public void mouseReleased(MouseEvent e){}
//implementation de mouseMotionListener
public void mouseDragged(MouseEvent e){
Graphics g =c.getGraphics();
protected void leftClickAction(MouseEvent e) {
Point p = e.getPoint();
IDrawable rect = createDrawable(e);
if (canvas.isFree(rect.getRectangle())) {
canvas.addDrawable(rect);
}
}
private IDrawable createDrawable(MouseEvent e) {
Point p = e.getPoint();
Dimension dim = new Dimension(40, 40);
return new RectangleDrawable(Color.RED, p, dim);
Aethan
Messages postés50Date d'inscriptionjeudi 27 avril 2006StatutMembreDernière intervention 4 mai 2006 27 avril 2006 à 15:28
Je ne suis pas rentré en detail dans ton code :
Rectangle comme tous les polygones, contient une methode nommée contains(Point p) ou contains(int x, int y) je crois...
Cette methode te dis si un point est dans ton rectangle ou pas.
Tu pourrai imaginer de selectionner ton rectangle et quand celui ci est selectionné lui ajouter 4 petits rectangles dans les coins, ainsi quand tu clique sur ces rectangles et que tu fais glisser tu peux redimensionné le tout
... Si tu n'y arrive pas je m'y pencherai plus, voir je t'aiderai, tiens moi au
courant surtout