Bonjour,
J'ai un "conflit" entre l'image de fond de ma JFrame et les boutons du JPanel qui est présent. Les boutons n'apparaissent que quand je passe la souris dessus. Si je passe d'une fenêtre à une autre, et que je reviens sur la fenêtre en question, le même phénomène s'est reproduit et je dois survoler les boutons pour qu'ils apparaissent.
C'est la même chose sans Jpanel, c'est à dire si j'ajoute les boutons à la JFrame directement...
Voici le code de ma classe :
Merci d'avance!
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 public class AppliMain extends JFrame { private Image fond; public JButton b01 = new JButton( " J O U E R " ); public JButton b02 = new JButton( " I N F O S " ); public JButton b03 = new JButton( "C R E D I T S" ); public JButton b04 = new JButton( "Q U I T T E R" ); public AppliMain() { JPanel panel = new JPanel (new BorderLayout ()); this.add(panel, BorderLayout.CENTER); /*b01.setMaximumSize(new Dimension(5,10)) b01.setLocation(10, 170);*/ Box verticale = Box.createVerticalBox(); ControleEvent controle01 = new ControleEvent (); b04.addActionListener( controle01 ); ControleEvent controle02 = new ControleEvent (); b01.addActionListener( controle02 ); verticale.add(Box.createVerticalStrut(150)); verticale.add(b01); verticale.add(Box.createVerticalStrut(20)); verticale.add(b02); verticale.add(Box.createVerticalStrut(20)); verticale.add(b03); verticale.add(Box.createVerticalStrut(35)); verticale.add(b04); panel.add (verticale, BorderLayout.CENTER); //this.add(verticale, BorderLayout.CENTER ); // centrage de la fenêtre à l'écran //this.setLocationRelativeTo(this.getParent()); //this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.setSize(800, 600); this.setVisible(true); } public void paint(Graphics g) { fond=Toolkit.getDefaultToolkit().getImage("textures/mainmenu.png") ; g.drawImage(fond, 0, 0, this); } public static void main(String[] args) { new AppliMain(); } }
Partager