bonjour a tous ,
j'ai une grille de jbutton qui m'affiche un tab [][] , le tout dans un GridLayout,
et je désirerais la mettre a jour automatiquement si un des élément du tableau a changé
est ce possible ?
merci d'avance
bonjour a tous ,
j'ai une grille de jbutton qui m'affiche un tab [][] , le tout dans un GridLayout,
et je désirerais la mettre a jour automatiquement si un des élément du tableau a changé
est ce possible ?
merci d'avance
Salut !
Tu refais un setLayout quand tu connaîs la taille de ton tableau...
+++
Ju
juste avec un setlayout , il va savoir reprendre tous les éléments du tableau ? ya pas une méthode validate() ou autre ?
Salut,
Je ne pense pas qu'il y ait quelquechose à faire, si ca ne fonctionne pas, essaye validate() ou d'autres méthodes de rafraichissement...
+++
Ju
bonjour ,
ca ne marche toujours pas![]()
voici mon code :le problème se situe dans la fonction majfenetre qui devrait tout effacer , remettre tous les éléments du tableau et tout réafficher, mais ca n'affiche rien. HELP!
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 public class Fenetre extends JFrame{ public Fenetre(int[][] monTab,int taille){ super("Projet IA"); setSize(800,600); this.getContentPane().setLayout(new GridLayout(taille,taille)); Container c = getContentPane(); for (int i=0; i<taille; i++) { for (int j=0; j<taille; j++){ JPanel boutonTemp=new JPanel();//Integer.toString(monTab [i][j])); if (monTab [i][j]==8){boutonTemp.setBackground(Color.lightGray);} else if (monTab [i][j]==1){boutonTemp.setBackground(Color.black);} else if (monTab [i][j]==0){boutonTemp.setBackground(Color.white);} else {boutonTemp.setBackground(Color.green);} c.add(boutonTemp); }} setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.setVisible(true); } // fonction de mise a jour de la fenetre public void majfenetre(int[][] monTab,int taille) { this.removeAll(); this.setVisible(false); Container c = getContentPane(); for (int i=0; i<taille; i++) { for (int j=0; j<taille; j++){ JPanel boutonTemp=new JPanel();//Integer.toString(monTab [i][j])); if (monTab [i][j]==8){boutonTemp.setBackground(Color.lightGray);} else if (monTab [i][j]==1){boutonTemp.setBackground(Color.black);} else if (monTab [i][j]==0){boutonTemp.setBackground(Color.white);} else {boutonTemp.setBackground(Color.green);} c.add(boutonTemp); }} this.validate(); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.setVisible(true); } }
merci d'avance
en fait g trouvé , fallait mettre un this.getcontentPane(). a chaque fois !
Partager