fafa00
Messages postés10Date d'inscriptionmardi 12 octobre 2004StatutMembreDernière intervention16 mars 2005
-
8 déc. 2004 à 13:47
fafa00
Messages postés10Date d'inscriptionmardi 12 octobre 2004StatutMembreDernière intervention16 mars 2005
-
8 déc. 2004 à 14:43
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);
}
}