Bonjour, mon binôme et moi-même débutons en Interfaces graphiques et nous sommes en train de créer une IHM pour un programme résolvant des systèmes linéaires, seulement nous voulions avoir une image de fond dans nos JPanel (ca, ca fonctionne), mais nos boutons sont "fantômes", en effet, ils ne deviennent visibles qu'une fois qu'on les a survolés à la souris... gênant ! Sauriez vous nous indiquer l'erreur ? Merci d'avance.
Voici le code :
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 package sysihm; import java.awt.*; import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; import javax.imageio.ImageIO; import javax.swing.*; public class ImageFond extends JPanel { private String filePath; public ImageFond(String filePath) { this.filePath = filePath; JButton toto = new JButton("toto"); toto.setVisible(true); toto.setOpaque(true); add(toto,""); } public void paint(Graphics g) { try { BufferedImage image = ImageIO.read(new File(filePath)); g.drawImage(image, 0, 0, null); } catch (IOException e) { e.printStackTrace(); } } public static void main(String[] args) { String imagePath = "C:/Documents and Settings/Admin/Bureau/font.jpg"; ImageFond fond = new ImageFond(imagePath); JFrame fen = new JFrame(); fen.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); fen.setContentPane(fond); fen.pack(); fen.setVisible(true); } }
Partager