Help Jtable et colonne

badreov Messages postés 17 Date d'inscription vendredi 6 mai 2005 Statut Membre Dernière intervention 2 octobre 2007 - 26 mai 2005 à 01:27
badreov Messages postés 17 Date d'inscription vendredi 6 mai 2005 Statut Membre Dernière intervention 2 octobre 2007 - 26 mai 2005 à 23:44
salut ,

comment je peux avoir un colonne noneditabele,
c.a.d quand je double clic sur une celule de se colone je ne peux pas le modifier.

merci svp explique moi avec un exemple

tchaoi

4 réponses

cs_GodConan Messages postés 2113 Date d'inscription samedi 8 novembre 2003 Statut Contributeur Dernière intervention 6 octobre 2012 12
26 mai 2005 à 06:38
tu cree ton model de donnee en surchargeant la methode isEditable( row, col )
dans cette methode tu gere si la colonne est editable ou non tu renvoi true ou false...

GL

++

GodConan
0
badreov Messages postés 17 Date d'inscription vendredi 6 mai 2005 Statut Membre Dernière intervention 2 octobre 2007
26 mai 2005 à 10:55
oui
mais est ce qui tu peus donne plus de detaill
etcomment je peut stoper l'edition des colonnes ou le contraire
et comment appeler la methode isEditable

merci

voila mon model tu peut le modifier
///////////////////////////////////////////////////////////////////////////////////////
package applicationgcnote;
import java.io.*;
import java.awt.*;
import javax.swing.event.*;
import javax.swing.*;
import javax.swing.table.*;


public class ModelTableau extends JPanel implements Serializable,TableModelListener {
String[] colonne={"Code","Nom","Prenom","Age","Adresse",
"1","2","3","4","Moyenne","Mention",""};
String[][] ligne;
DefaultTableModel model=new DefaultTableModel();
JTable table;
BorderLayout borderLayout1 = new BorderLayout();
CardLayout cardLayout1 = new CardLayout();


public ModelTableau() {
ligne=new String[0][colonne.length];
table=new JTable(ligne,colonne);


JScrollPane jsp = new JScrollPane(table);
jsp.getViewport().add("bbbbbb",table);
add("ddddd",jsp);
try {
jbInit();
}
catch(Exception e) {
e.printStackTrace();
}
}
public ModelTableau(String m1,String m2,String m3,String m4) {
colonne[5]=m1;
colonne[6]=m2;
colonne[7]=m3;
colonne[8]=m4;
ligne=new String[0][colonne.length];
model=new DefaultTableModel(ligne,colonne);
model.isCellEditable(0,3);
table=new JTable(model);
model.addTableModelListener(this);
JScrollPane jsp = new JScrollPane(table);
jsp.getViewport().add("bbbbbb",table);
add("ddddd",jsp);
try {
jbInit();
}
catch(Exception e) {
e.printStackTrace();
}
}
void ajoutling(Etudiant et){
String[] x={et.getcode()+"",et.getnom(),et.getprenom(),et.getage()+"",et.getadr(),
"","","","","","",""};
model.addRow(x);
table.setModel(model);
}
void supprimerligne(){
model.removeRow(table.getSelectedRow());
}


public void tableChanged(TableModelEvent e)
{ if (e.getType() != TableModelEvent.UPDATE) return;
int ligne = e.getFirstRow();
int colonne = e.getColumn();
float somme = 0;
String chaine;

if ((colonne > 4) && (colonne <9))
{
for (int i = 4; i < 9; i++)
{
try
{
chaine = (String)model.getValueAt(ligne, i);
if(Float.valueOf(chaine.trim()).floatValue()<0||Float.valueOf(chaine.trim()).floatValue()>20){
model.setValueAt("", ligne, colonne);

chaine="0";
JOptionPane.showMessageDialog(null,"la note ne doit pas etre <0 ou >20","erreur",1);
}
if (!chaine.equals(null))
{
somme += Float.valueOf(chaine.trim()).floatValue();

}
}
catch(NumberFormatException exc) {}
}
if (somme > 0){
float s=somme / 4 ;
model.setValueAt(s+ "", ligne, 9);
if(s>=16){
model.setValueAt("tre bien", ligne, 10);
}
else if(s>=14){
model.setValueAt("bien", ligne, 10);
}
else if(s>=12){
model.setValueAt("montion", ligne, 10);
}
else if(s>=10){
model.setValueAt( "moyene", ligne, 10);
}
else if(s>=8){
model.setValueAt("faible", ligne, 10);
}
else{
model.setValueAt("tre faible", ligne, 10);
}
}
else model.setValueAt("0", ligne, 9);
}

}


boolean isEditable(int row,int col ){
return false;
}

private void jbInit() throws Exception {
this.setLayout(cardLayout1);
}


}
0
cs_GodConan Messages postés 2113 Date d'inscription samedi 8 novembre 2003 Statut Contributeur Dernière intervention 6 octobre 2012 12
26 mai 2005 à 18:27
iseditable ce n est pas toi qui l appelle toi tu la surcharge ds un defaulttablemodel par exemple
et ensuite c est le comportement de JTable qui s en occupe ...

GodConan
0
badreov Messages postés 17 Date d'inscription vendredi 6 mai 2005 Statut Membre Dernière intervention 2 octobre 2007
26 mai 2005 à 23:44
j'ai pas bien compri !!!!!!!!!!!!
comment je peut surcharger cette method


Svp explique toi

merci
0
Rejoignez-nous