Bonjour,
J'essaie de comprendre comment fonctionne la bibliothèque graphique de Java.
Dans le programme suivant qui est censé m'afficher un carré bleu sur mon Canvas, je n'obtiens pas l'effet souhaité. Le fond reste blanc, parfois le carré apparait 1/100e de seconde puis disparait.
Quelqu'un pourrait-il me dire 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 import java.awt.Graphics2D; import java.awt.Canvas; import java.awt.Color; import java.awt.Dimension; import java.awt.Rectangle; import java.awt.BasicStroke; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import javax.swing.JFrame; public class Test { public static void test() throws Exception{ JFrame frame = new JFrame("test"); WindowAdapter wa = new WindowAdapter(){ public void windowClosing(WindowEvent e){ System.exit(0); } }; frame.addWindowListener(wa); Canvas c = new Canvas(); frame.getContentPane().add(c); c.setBackground(Color.WHITE); c.setForeground(Color.BLACK); c.setPreferredSize(new Dimension(400,200)); frame.pack(); frame.setVisible(true); Graphics2D g = (Graphics2D)c.getGraphics(); g.setPaint(Color.BLUE); g.setStroke(new BasicStroke(7.0F)); //g.setColor(Color.RED); g.draw(new Rectangle(39,46,29,25)); //g.fillRect(10,10,100,100); Thread.sleep(1000); c.repaint(); } }
Partager