Jtable cell editor

cs_kaliel Messages postés 96 Date d'inscription mardi 6 janvier 2004 Statut Membre Dernière intervention 24 octobre 2005 - 15 avril 2004 à 10:42
riky095 Messages postés 1 Date d'inscription jeudi 24 août 2006 Statut Membre Dernière intervention 13 janvier 2012 - 13 janv. 2012 à 11:46
salut!! j'ai une question bête.

je voudrais que les lignes de ma jtable soient sélectionnable mais pas éditable, comment on fait.

merci

4 réponses

safisoft Messages postés 489 Date d'inscription vendredi 30 janvier 2004 Statut Membre Dernière intervention 13 mai 2009 6
15 avril 2004 à 11:41
tu dois agir sur cellSelectionEnabled et cellEditor ou qlq chose comme ca!
tu vois pas la doc? c pas bo!
0
cs_kaliel Messages postés 96 Date d'inscription mardi 6 janvier 2004 Statut Membre Dernière intervention 24 octobre 2005 4
15 avril 2004 à 15:53
ouaih j'ai lu mais sans doute mal car je trouve pas.
j'utilise un model du type DefaultTableModel pour ma jtable.
Lorsque la table s'affiche et que je sélectionne une ligne (avec un clic de souris), celle_ci est surlignée mais si je double-clique cela édite la cellulle.
Moi ce que je veux c'est garder la ligne surlignée mais ne pas autoriser d'éditer une cellule et là je ne trouve pas.

De plus je voudrais qu'à l'affichage de la table pour la première fois, la première ligne soit sélectionnée? et que si je rajoute une ligne (mymodel.addrow(vecteur).....), cette ligne soit sélectionnée.

merci
0
jaja251 Messages postés 1 Date d'inscription jeudi 28 juillet 2005 Statut Membre Dernière intervention 28 juillet 2005
28 juil. 2005 à 17:34
Tu te crées une nouvelle classe et tu l'utilises en lieu et place de JTable

public
class DTable
extends JTable {



/**



*
@param
dm



*/



public MaTable(TableModel dm) {



super(dm);


;


setRequestFocusEnabled(
false);


}



public MaTable(){



super();


setRequestFocusEnabled(
false);


}



// oblige la sélection complète de la ligne



public
void setRequestFocusEnabled(
boolean b){



super.setRequestFocusEnabled(
false);


}



/*empêche la sélection d'une cellule.


*en effet cellEditor ne peut fonctionner que si


*la cellule et la panneau renvoie editable true*/



public
boolean isCellEditable(
int row ,
int column){



return
false;


}






}
0
riky095 Messages postés 1 Date d'inscription jeudi 24 août 2006 Statut Membre Dernière intervention 13 janvier 2012
13 janv. 2012 à 11:46
tu peut aussi créer un model de table: extends AbstractTableModel {...}

dans laquelle tu mets: @Override
public boolean isCellEditable(int rowIndex, int columnIndex) {
return false; // Toutes les cellules éditables
}

(true) si tu veut qu'elles soit éditables...

tu peu même rendre certaines cellules édidables et d'autre non, en pofinant l'algorhitme...


 Riky095 &a
0
Rejoignez-nous