Bonjour, j'ai fait un petit programme comportant un damier utilisant jframe;
En effet lorsque je veut modifier la position d'un "pion" puis rafraichir le tout grâce à fireTableDataChanged(); j'obtiens
Partie.java:66: cannot find symbol
symbol : method fireTableDataChanged()
location: class Damier
plateau.fireTableDataChanged();
^
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
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73 import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.JTable; import java.io.*; import javax.swing.*; import javax.swing.*; import javax.swing.table.*; import javax.swing.event.*; import java.awt.event.*; import java.awt.*; import java.util.*; //import console.*; public class Damier extends JFrame implements Serializable { private int taille; public Object[][] data; public Object[][] datasave; public int nbDeCase; public Damier(){ this.setLocationRelativeTo(null); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.setTitle("Damier"); this.taille=Clavier.readInt("taille du damier?")+1; this.setSize(taille*28, taille*19); //Adapte la taille d la fenetre au tableau this.data=new Object[taille][taille]; this.datasave=new Object[taille][taille]; //tableau servant de sauvegarde this.nbDeCase= taille*taille; //Les donn?es du tableau //Object[][] data = new Object[taille][taille]; //Les titres des colonnes Object title[]; title=new Object[taille]; for(int a=0;a<taille;a++) title[a]=""; JTable tableau = new JTable(data, title); /*remplis la premiere colone et la premiere ligne afin de reperer les coordonn?es des cases*/ for(int i = 0; i < data.length; i++){ data[i][0] = i; } for(int j = 0; j < taille; j++){ data[0][j] = j; } //On ajoute notre tableau ? notre contentPane dans un scroll //Sinon les titres des colonnes ne s'afficheront pas ! ! for(int k=1;k<taille;k++) for(int l=1;l<taille;l++) data[k][l]=""; this.getContentPane().add(new JScrollPane(tableau)); } public void setTaille(int taille) { this.taille=taille; } public int getTaille() {return taille;} public void place(int col, int lin){ this.data[col][lin]="test"; } }
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 import java.util.Random; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.JTable; import java.io.*; import java.*; public class Partie { public static void main(String[] args) { Menu menu=new Menu(); int choix=0; int mouv; while(choix<1 || choix>2) choix=Clavier.readInt("Que voulez-vous faire?\n1-Démarrer une nouvelle partie\n2-Charger une partie sauvegardée\n"); switch(choix) { case 1: Damier plateau=new Damier(); //initialisation Damier Rocher blocage=new Rocher(); //initialisation Rocher while(blocage.getNombreRocher()<0 || blocage.getNombreRocher()>(plateau.getTaille()*plateau.getTaille())/10) blocage.init(); int centre=plateau.getTaille()/2; plateau.data[centre][centre]="PION"; //placement Fée for(int i=0;i<blocage.getNombreRocher();i++) //placement Rochers { Random h=new Random(); Random d=new Random(); int hasard=1+h.nextInt(plateau.getTaille()-1); int destin=1+d.nextInt(plateau.getTaille()-1); if(plateau.data[hasard][destin]=="") plateau.data[hasard][destin]="ROC"; else i--; } plateau.setVisible(true); //affichage Damier mouv=Clavier.readInt("mouvement"); if(mouv == 1){ plateau.data[centre][centre]=""; plateau.data[centre+1][centre+1]="pion"; } break; case 2: String nom=Clavier.readString("nom du fichier à charger:"); menu.charger(nom); break; } } }
Partager