Bonjour à tous,
J'aimerai savoir comment faire pour dessiner sur un component, en fait j'y arrive mais mon dessin ne reste pas il disparait automatiquement et je ne vois pas pourquoi.
MERCI....
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
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106 import java.awt.Color; import java.awt.Component; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.GraphicsEnvironment; import java.awt.event.MouseEvent; import java.awt.event.MouseListener; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import javax.media.Manager; import javax.media.MediaLocator; import javax.media.Player; import javax.swing.JFrame; public class test extends JFrame { // Dimensions d'écran private GraphicsEnvironment graphicsEnvironment = null; // Component video private Component video = null; // Player private Player player = null; private MediaLocator ml = null; public test() { super("Test"); graphicsEnvironment = GraphicsEnvironment.getLocalGraphicsEnvironment(); setBounds(graphicsEnvironment.getMaximumWindowBounds()); setVisible(true); addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { closePlayer(); System.exit(0); } }); init(); } public void init() { //récupération de mon player getPlayer(); //ajout de mon player à ma frame add(video); video.setBounds(graphicsEnvironment.getMaximumWindowBounds()); //ajout d'un événement souris pour le dessin video.addMouseListener(new Click()); // actualisation de ma fenêtre repaint(); } //Methode dessinant une ligne en diagonal public void superPose() { Graphics g = player.getVisualComponent().getGraphics(); Graphics2D g2 = (Graphics2D) g; g2.setPaint(Color.green); g2.drawLine(0, 0, 300, 300); } //Methode utilisé pour la récupération de mon player public void getPlayer() { ml = new MediaLocator("vfw://0"); try { player = Manager.createRealizedPlayer(ml); player.start(); video = player.getVisualComponent(); } catch (Exception e) { e.printStackTrace(); } } //Méthode utilisé pour fermer mon player public void closePlayer() { player.close(); player.deallocate(); } public static void main(String args[]) { new test(); } //Clazs événement souris(dessine ma ligne sur un simple click) public class Click implements MouseListener { public void mouseClicked(MouseEvent arg0) { superPose(); } public void mouseEntered(MouseEvent arg0) {} public void mouseExited(MouseEvent arg0) {} public void mousePressed(MouseEvent arg0) {} public void mouseReleased(MouseEvent arg0) {} } }
Partager