Comment actualiser jframe
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
Citation:
Partie.java:66: cannot find symbol
symbol : method fireTableDataChanged()
location: class Damier
plateau.fireTableDataChanged();
^
Code:
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:
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;
}
}
} |