Dessin à la souris / setColor

Résolu
Signaler
Messages postés
10
Date d'inscription
mardi 12 octobre 2004
Statut
Membre
Dernière intervention
16 mars 2005
-
Messages postés
10
Date d'inscription
mardi 12 octobre 2004
Statut
Membre
Dernière intervention
16 mars 2005
-
Hello

Je désespère...
Je voudrais appliquer une couleur à un dessin à la souris et créer une méthode pour changer cette couleur...
Je n'arrive pas à poser ma méthode setColor pour que mon dessin soit de la couleur voulue...

Merci !

public class Dessin extends JPanel implements MouseMotionListener{

int xPrec, yPrec;
Color couleur = Color.BLUE;

public Dessin(){
//ajout de l'écouteur
addMouseMotionListener(this);
this.setBackground(Color.white);

}

//événement déplacement souris avec bouton enfoncé
public void mouseDragged(MouseEvent e){
Graphics g = getGraphics();
g.drawLine(xPrec, yPrec, e.getX(), e.getY());
mouseMoved(e);
}

//événement lors du déplacement de la souris
public void mouseMoved(MouseEvent e){
xPrec = e.getX();
yPrec = e.getY();
}

//méthode de changement de couleur de dessin
//utilisation de la boîte de dialogue JColorChooser
public void changeCouleur(){
couleur = JColorChooser.showDialog
(this, "Choose Background Color", couleur);

}

//méthode pour effacer le dessin
public void efface(){
getBackground();
}
}

public class FrameDessin extends JFrame implements ActionListener {

public JMenuItem effacer, quitter, couleur;
public Dessin dessin = new Dessin();

public FrameDessin(){

setTitle("Dessinons !");

getContentPane().add(dessin);

//Déclaration et instanciation du JMenuBar
JMenuBar barre = new JMenuBar();
barre.setBackground(Color.white);

//Déclaration et instanciation du JMenu
JMenu menu = new JMenu("Menu");
menu.setBackground(Color.white);

//Instancition des JMenuITem
effacer = new JMenuItem("Effacer");
quitter = new JMenuItem("Quitter");
couleur = new JMenuItem("Changer la couleur");

//Ajout des JMenuItem dans le JMenu
menu.add(effacer);
menu.add(quitter);
menu.add(couleur);

//ajout des écouteurs sur les items
couleur.addActionListener(this);
quitter.addActionListener(this);
effacer.addActionListener(this);

//Ajout du JMenu dans le JMenuBar
barre.add(menu);

//Ajout du JMenuBar dans le panel
this.setJMenuBar(barre);

//différents méthodes appliqueés au frame
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
this.setLocation((screenSize.width - 600)/2, (screenSize.height-600)/2);
this.setSize(600,600);
this.setVisible(true);
this.setResizable(false);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
//méthode appelée lors de l'appui sur le bouton
public void actionPerformed(ActionEvent e){
//si l'item selectionné est couleur
if(e.getSource().equals(couleur))
//utiliser la méthode changeCouleur
dessin.changeCouleur();
if(e.getSource().equals(effacer))
dessin.efface();
if(e.getSource().equals(quitter))
System.exit(0);
}
}

1 réponse

Messages postés
10
Date d'inscription
mardi 12 octobre 2004
Statut
Membre
Dernière intervention
16 mars 2005

je le mets dans le mouseDragged !