Bonjour à tous, j'essaye de programmer un jeu de loto et notamment l'affichage d'une grille de tirage de loto.
Je crée une fenetre (Jframe) ou j'affiche une grille à l'aide d'un GridBagLayout et je rempli chaque case (JLabel) avec une image à fond blanc que j'ai créé.
Après avoir parcouru toute la javadoc et internet, je n'arrive pas à créer une méthode permettant de changer l'image de la case (0,0) du GridBagLayout par une autre image (une image avec un chiffre) par exemple.
En fait, je n'ai aucun pointeur pour modifier le JLabel de la case(0,0), comment faire ? Avez vous une idée ?
Merci pour votre aide précieuse
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 import java.awt.*; import javax.swing.*; public class Fenetre extends JFrame{ public Fenetre () { super(); this.setTitle("Grille de Loto"); this.setSize(800, 600); this.setLocationRelativeTo(null); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } public static void creerGrille (Fenetre fen, GridBagLayout gbl) { fen.setLayout(gbl); fen.setVisible(true); } public static void supprimerGrille(Fenetre fen) { fen.setLayout(null); fen.setVisible(false); } public static void grilleVierge (Fenetre fen, GridBagLayout gbl) { ImageIcon img = new ImageIcon("Images/fond.png"); GridBagConstraints gbc = new GridBagConstraints(); for(int i=0; i<10; i++){ for(int j=0; j<9; j++){ gbc.gridx = i; gbc.gridy = j; Case cases = new Case(img); gbl.setConstraints(cases, gbc); fen.add(cases); } } } }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 import javax.swing.ImageIcon; import javax.swing.JLabel; public class Case extends JLabel { public Case(ImageIcon img){ this.setIcon(img); } }
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 import java.awt.GridBagLayout; import java.util.ArrayList; public class Main { public static void main(String[] args){ //int[] tableau = Numero.tabNumero (); //ArrayList<String> arrList = Numero.listNumero(tableau); //ArrayList<String> arrListMelange = Numero.listNuemroMelange(arrList); Fenetre fenetre = new Fenetre(); GridBagLayout gbl = new GridBagLayout(); Fenetre.creerGrille(fenetre, gbl); Fenetre.grilleVierge(fenetre, gbl); //Fenetre.supprimerGrille(fenetre); } }
Partager