Bonjour,
Mon problème c'est que les objets que je dessine sur mon interface graphique s'effacent quand une autre fenêtre couvre ma fenêtre.
Je précise que ces objets restent intacts quand je fais bouger ou que je redimensionne ma fenêtre et c'est uniquement quand la fenêtre est couverte par une autre fenêtre que les objet dessinés s'effacent.
pourtant j'utilise bien une fonction spécifique paint(g) dans ma classe.
Merci de m'aider
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 public class Interface extends Frame implements ActionListener , Observer {//implements ActionListener{ JPanel P1 ; Graphics gg ; int x_dim,y_dim ; server2 server ; public Interface(){ P1 = new JPanel() ; P1.setPreferredSize(new Dimension(400, 400)); gg =P1.getGraphics() ; resize ( 400, 450 ); JToolBar bar = new JToolBar(); JButton Start=new JButton( "START") ; Start.addActionListener(this); bar.add(Start) ; P1.add(bar) ; add(P1) ; } public void actionPerformed(ActionEvent e){ server= new server2() ; server.addObserver(this) ; server.server2_start() ; } public void update(Observable o, Object arg) { System.out.println ("Update fonctionne ..."); paint(P1.getGraphics()) ; } public void paint(Graphics g) { for(int j=0; j<server.U.size() ;j++){ System.out.println ("User Color="+server.U.get(j).getColor() ) ; server.U.get(j).dessiner(g) ; // Ici je fais appel à une autre classe pour dessiner sur le Graphics() que je lui transmet } } public static void main (String args[]) { Interface I = new Interface() ; I.setVisible(true) ; } }
Partager