Pages : 1
#1 Le 27/07/2007, à 18:01
- sixtie
[Java]Faire une copie d'une JTable
Bonjour,
est-ce que quelqu'un pourrait m'indiquer comment se fait la copie d'une JTable.
En essayant de faire comme ceci :
JTable table = new JTable(4,5);
JTable table2 = table;
Lorsque j'insere ces 2 tables dans une fenetre, il y a seulement table2 qui s'affiche et non table.
Si quelqu'un pouvait me montrer un exemple, ce serait sympa.
Merci
#2 Le 28/07/2007, à 07:37
- obiwankennedy
Re : [Java]Faire une copie d'une JTable
en Java, tous les objets sont des références donc quand tu fais ça table et table2 sont les memes et si tu modifies l'une tu modifies l'autre en meme temps.
Maintenant pourquoi il y en a qu'une qui s'affiche, j'aurais besoin de plus de ligne de code.
essaie plutot ceci
JTable table = new JTable(4,5);
JTable table2 = table.clone();
la méthode clone est une méthode de la classe object de java.
essaie avec ça et dit moi ce qui se passe maintenant.
Dans mes logiciels, j'écris ton nom.
SGNGD: SvgGd is Not GD
Rolisteam
Hors ligne
#3 Le 28/07/2007, à 09:32
- sixtie
Re : [Java]Faire une copie d'une JTable
en Java, tous les objets sont des références donc quand tu fais ça table et table2 sont les memes et si tu modifies l'une tu modifies l'autre en meme temps.
Maintenant pourquoi il y en a qu'une qui s'affiche, j'aurais besoin de plus de ligne de code.
essaie plutot ceci
JTable table = new JTable(4,5); JTable table2 = table.clone();
la méthode clone est une méthode de la classe object de java.
essaie avec ça et dit moi ce qui se passe maintenant.
Salut,
voici le code que j'ai écrit avec le changement que tu as proposé :
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;
public class Table{
private static final long serialVersionUID = 1L;
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);
JTable table2 = 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);
}
}
J'obtiens comme erreur à cette ligne :
JTable table2 = table.clone();
Type mismatch: cannot convert from Object to JTable
donc j'ai écrit la ligne comme ceci :
JTable table2 = (JTable)table.clone();
Et j'obtiens maitenant :
The method clone() from the type Object is not visible
#4 Le 28/07/2007, à 11:55
- highflyer
Re : [Java]Faire une copie d'une JTable
Il faut que tu redéfinisse la méthode clone() pour lui faire faire ce que tu veux, par exemple http://ydisanto.developpez.com/tutoriels/j2se/cloneable/