IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Java Discussion :

Clonage d'une JTable


Sujet :

Langage Java

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 60
    Points : 35
    Points
    35
    Par défaut Clonage d'une JTable
    Bonjour,

    j'ai écris le programme de Test suivant pour essayer de copier une table mais j'obtiens le message suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    The method clone() from the type Object is not visible	line 29
    la ligne 29 est la suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Table table2 = (Table)table.clone();
    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
    import javax.swing.JFrame;
    import javax.swing.JScrollPane;
    import javax.swing.JTable;
     
     
    public class Table extends JTable implements Cloneable{
    	private static final long serialVersionUID = 1L;
    	private JTable table;
    	public Table(JTable table){
    		this.table = table;
    	}
     
    	public Table clone(){
    		Table table = new Table(this.table);
    		return table;
    	}
     
    	public static void main(String [] args){
    		JTable table = new JTable(4,5);
    		JScrollPane scroll = new JScrollPane(table);
    		JFrame frame = new JFrame("Initial");			
    		frame.setSize(600,250);
    		frame.add(scroll);
    		frame.setVisible(true);
    		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
     
    		Table table2 = (Table)table.clone();
    		JScrollPane scroll2 = new JScrollPane(table2);
    		JFrame frame2 = new JFrame("Copie");			
    		frame2.setSize(600,250);
    		frame2.add(scroll2);
    		frame2.setVisible(true);
    		frame2.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    	}
    }
    Je voudrai savoir comment corriger cette erreur et si c'est bien comme cela qu'il faut faire pour copier une table

    Merci

  2. #2
    Membre régulier Avatar de cybercrisp
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 104
    Points : 96
    Points
    96
    Par défaut
    et avec ca
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     protected Object clone() throws CloneNotSupportedException
      {   
        return super.clone();
      }

  3. #3
    Membre régulier Avatar de cybercrisp
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 104
    Points : 96
    Points
    96
    Par défaut
    ah m****! je viens de capter ton probléme je te reponds aprés...

  4. #4
    Membre émérite
    Avatar de gifffftane
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2 354
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 2 354
    Points : 2 582
    Points
    2 582
    Par défaut
    Comment est déclaré ton objet table de la ligne 29 ?

  5. #5
    Rédacteur
    Avatar de CyberChouan
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    2 752
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Janvier 2007
    Messages : 2 752
    Points : 4 314
    Points
    4 314
    Par défaut
    L'objet table que tu tentes de cloner est de type "JTable":

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    JTable table = new JTable(4,5);
    Le problème ne vient donc pas de ta méthode clone() qui n'est jamais appelée mais de celle de la classe JTable: as-tu vérifié si celle-ci implémentait bien Clonable?

    Ensuite, même en supposant que le clonage fonctionne, tu obtiendrait un clone d'une JTable, donc une JTable. Et le cast "Table table2 = (Table)table.clone();" lèverait une ClassCastException. Tu peux caster une Table en JTable mais pas l'inverse!

Discussions similaires

  1. [Swing] Afficher une JTable speciale en java
    Par benssj5 dans le forum Composants
    Réponses: 6
    Dernier message: 12/03/2013, 21h21
  2. focus dans une cellule d'une JTable
    Par coil dans le forum Composants
    Réponses: 5
    Dernier message: 07/07/2010, 18h15
  3. [JTable] coloration des lignes d'une JTable
    Par MathiasM dans le forum Composants
    Réponses: 3
    Dernier message: 22/06/2009, 11h19
  4. [JTable]Selectionner une seule ligne d'une jTable ?
    Par Maximus32 dans le forum Composants
    Réponses: 2
    Dernier message: 22/10/2004, 03h06
  5. Non réception d'un evènement sur une JTable
    Par Kant dans le forum Composants
    Réponses: 4
    Dernier message: 28/05/2004, 11h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo