Forum Clubic

Séléction multiple d'un JTable

bonjour !
J’ai deux JTable tab1 et tab2 , Le code au dessous me permet d’afficher le contenue d’une cellule du tab1 que dans la première cellule du tab2 :

public class tabGui extends JFrame {
	public tabGui() {
	initComponents();
	}

               private void initComponents() {
                ..
              Tab1.addMouseListener(new MouseAdapter() {
	public void mouseClicked(MouseEvent e) {
	tab1MouseClicked(e);
	}
	});
..
}
private void visitedSiteListMouseClicked(MouseEvent e) {
tab2.setValueAt(tab1.getModel().getValueAt(tab1.getSelectedRow(),0),0,0);
		
	
	}
..
}

Lorsque je clique sur une cellule du tab1, son contenue doit être afficher dans la première cellules du tab2 et lorsque je clique la deuxième fois sur une autre cellule du tab1 son contenue doit être afficher dans la deuxième cellules du tab2, et ainsi du suite .
Comment faire ?
Merci d’avance.

Euh, un champ de ta classe qui compte le nombre de clics ?

Bonjour.
Déjà c’est mieux de travailler directement sur le TableModel, tu peux te créer des méthodes pour copier une ligne en entier.
Parce que là, tu ne copie que la 1ère colonne et la 1ère ligne :wink:

en effectivement, en incrémentant à chaque click, tu pourrais calculer le N) de la ligne, mais tu peux te contenter de rowCount


private void visitedSiteListMouseClicked(MouseEvent e) {
tab2.setValueAt(tab1.getModel().getValueAt(tab1.getSelectedRow(),0),tab2.getRowCount() ,0);
}

sinon, ce n’est pas vraiment de la multisélectino, l multisélection ce serait d’utiliser le JTable.getSelectedRows()
:slight_smile: