bonjour,
j'essaye d'animer un petit rectangle qui va entrer et sortir de mon rectangle(comme si le grand rectangle est ma pile et le petit est objet que j'empile et je dépile)mais le code se plante
merci
voici le code de ma classe Pile:
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 public class Pile extends JFrame{ private boolean backX; private JPanel pan=new JPanel(); private Panneau pa=new Panneau(); Pile(){ setLocationRelativeTo(null); this.setName("pile"); this.setSize(200,200); pan.setBackground(Color.white); pan.setLayout(new BorderLayout()); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); pan.add(pa, BorderLayout.CENTER); this.setContentPane(pan); setVisible(true); go(); } public void go(){ int x=pa.getPosX(); while(true){ if(x < 1)backX = false; if(x > pa.getWidth())backX = true; if(!backX)pa.setPosX(++x); else pa.setPosX(--x); pa.repaint(); try { Thread.sleep(20); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } }
et voici le code ma classe Panneau:
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 public class Panneau extends JPanel { private int PosX=0; private int PosY=0; public void paintComponent(Graphics g){ g.setColor(Color.white); g.fillRect(0,0,this.getWidth(),this.getHeight); g.setColor(Color.pink); g.fillRect(PosX,0,50,50); g.setColor(Color.black); g.drawRect(0,0,180,60); } public int getPosX(){ return PosX; } public int getPosY(){ return PosY; } public void setPosX(int x){ this.PosX=x; } public void setPosY(int y){ this.PosY=y; } }
Partager