Salut à tous,
je commence les GUI en java, et on doit réalisé un programme qui ouvre une fenetre et dessine avec la souris qd on clike et reste kliké avec le bouton gauche. Le dessin doit s'arreter avec un clik droit.
On doit créer en fait une classe qui implémente MouseListener,MouseMotionListener.
Mais moi ca ne fait pas grand chose :s
Jpeux vous balancer mes codes si vous voulez :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57 import java.awt.Graphics; import java.awt.event.MouseEvent; import java.awt.event.MouseListener; import java.awt.event.MouseMotionListener; import javax.swing.SwingUtilities; public class TraceurForme implements MouseListener,MouseMotionListener{ private int lastx; private int lasty; private Graphics g; public TraceurForme(Graphics gr){ this.g=gr; } public void mouseClicked(MouseEvent e){ if (SwingUtilities.isRightMouseButton(e)){ lastx = -1; lasty = -1; } } public void mouseEntered(MouseEvent e){ } public void mouseExited(MouseEvent e){ } public void mousePressed(MouseEvent e){ lastx = e.getX(); lasty = e.getY(); } public void mouseReleased(MouseEvent e){ } public void mouseMoved(MouseEvent e){ } public void mouseDragged(MouseEvent e){ lastx = e.getX(); lasty = e.getY(); } public int getLastX(){ return lastx; } public int getLastY(){ return lasty; } public Graphics getG(){ return g; } }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 public class DessinFigures extends JPanel{ [......] public void trace(Color c){ int x1 = -1, x2 = -1, y1 = -1, y2 = -1; TraceurForme tf = new TraceurForme(getGraphics()); while((tf.getLastX() != -1) && (tf.getLastY() != -1)){ x1 = tf.getLastX(); x2 = x1; y1 = tf.getLastY(); y2 = y1; if (x2 != tf.getLastX() && y2 != tf.getLastY()){ x2 = tf.getLastX(); y2 = tf.getLastY(); tf.getG().drawLine(x1, y1, x2, y2); x1=x2; y1=y2; } } removeMouseListener(tf); repaint(); } }J'vous ai enlever du code mais si vous en voulez plus faites moi signe et si vous voulez des explications j'peux aussi vous en donner!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 import java.awt.*; import javax.swing.*; import java.util.*; public class Dialogue { public static void main(String[] args) { JFrame fenetre = new JFrame("TITRE"); DessinFigures dessin = new DessinFigures(); fenetre.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); dessin.setPreferredSize(new Dimension(800,600)); fenetre.setContentPane(dessin); fenetre.pack(); fenetre.setVisible(true); dessin.trace(Color.black); fenetre.setVisible(true); } }
Merci d'avance
Partager