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);
}
}