IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Composants Java Discussion :

Undo manager pour JTable


Sujet :

Composants Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Avril 2009
    Messages
    133
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 133
    Par défaut Undo manager pour JTable
    Bonsoir,
    mon probleme consiste a ajouter la methode annuler (undo ) seulement sans redo a ma JTable, je cherche la methode la plus simple, puisque je suis debutant, merci.
    Voila ci dessous, mon modele de table :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    public class TableModelFormules extends AbstractTableModel {
            private TableModel delegate;
            private UndoableEditSupport support = new UndoableEditSupport();
        private  List <Formule> Lignes= new ArrayList<Formule>();
        String Entetes[] = { "Identifiant de la Form","Designation", "Active", "Valide", "Verouiller" };
     
        public TableModelFormules() {
            super();
            ConnexionDB CD = new ConnexionDB();
            Lignes = CD.RecupererFormules();
        }
     
            public int getRowCount() {
            return Lignes.size();
            }
            public int getColumnCount() {
            return Entetes.length;
            }
            public String getColumnName(int columnIndex) {
            return Entetes[columnIndex];
            }
            public Object getValueAt(int rowIndex, int columnIndex) {
     
            switch(columnIndex){
                        case 0:
                            try{
                        return Lignes.get(rowIndex).getId_Form();
                            }
                            catch(ArrayIndexOutOfBoundsException e)
                            {
                            System.out.println("Probleme dans la selection de la ligne du JTable");
                            }
                        case 1:
                            try{
                        return Lignes.get(rowIndex).getDesignation_Form();
                            }
                            catch(ArrayIndexOutOfBoundsException e)
                            {
                            System.out.println("Probleme dans la selection de la ligne du JTable");
                            }
                        case 2:
                            try{
                        return Lignes.get(rowIndex).isActive_Form();
                            }
                            catch(ArrayIndexOutOfBoundsException e)
                            {
                            System.out.println("Probleme dans la selection de la ligne du JTable");
                            }
                        case 3:
                            try{
                        return (Object)Lignes.get(rowIndex).isValide_Form();
                            }
                            catch(ArrayIndexOutOfBoundsException e)
                            {
                            System.out.println("Probleme dans la selection de la ligne du JTable");
                            }
                        case 4:
                            try{
                        return (Object)Lignes.get(rowIndex).isVerouiller_Form();
                             }
                            catch(ArrayIndexOutOfBoundsException e)
                            {
                            System.out.println("Probleme dans la selection de la ligne du JTable");
                            }
                        default:
                        return null; //Ne devrait jamais arriver
                                }
     
     
            }
     
            @Override
            public Class getColumnClass(int columnIndex){
            switch(columnIndex){
                case 2:
                    return Boolean.class;
                case 3:
                    return Boolean.class;
                case 4:
                    return Boolean.class;
            default:
            return Object.class;
                                }
     
            }
            @Override
            public boolean isCellEditable(int rowIndex, int columnIndex) {
                if((columnIndex == 0)||(columnIndex == 4))
                    return false;
            return true; //Toutes les cellules éditables
            }
    @Override
    public void setValueAt(Object aValue, int rowIndex, int columnIndex) {
                if(aValue != null){
                Formule F = Lignes.get(rowIndex);
                String temp;
                switch(columnIndex){
                    case 0:
                        temp = String.valueOf(aValue);
                        F.setId_Form(temp);
                    break;
                    case 1:
                        F.setDesignation_Form(String.valueOf(aValue));
                        break;
                    case 2:
                        F.setActive_Form((Boolean)aValue);
                    break;
                    case 3:
                        F.setValide_Form((Boolean)aValue);
                        break;
                    case 4:
                        F.setVerouiller_Form((Boolean)aValue);
                        break;
                    }
                }
     
        }
            public void AjoutFormule(Formule F) {
     
            F.Ajouter();
            this.Lignes.add(F);
            fireTableRowsInserted(Lignes.size() -1, Lignes.size() -1);
                }
            public void SuppressionFormule(int rowIndex) {
     
            Formule F = new Formule();
            Object O = new Object();
                    for(int j = 0; j<getColumnCount(); j++)
                    {
                    O = getValueAt(rowIndex, j);
                    F.SET(j, O);
                    }
                    boolean suppr = F.Supprimer();
                    Lignes.remove(rowIndex);
                    fireTableRowsDeleted(rowIndex, rowIndex);
                }
    }
    Merci d'avance de venir a mon aide.

  2. #2
    Membre confirmé
    Inscrit en
    Avril 2009
    Messages
    133
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 133
    Par défaut
    Resolu ^^
    Je l'ai fait suivant une logique mon propre "undo" a moi.
    en sauvegardant les valeur du début dans des variables, puis en les appelant ultérieurement ...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 29/11/2013, 09h29
  2. Installer "Enterprise Manager" pour SQL Server 2005
    Par david_chardonnet dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 21/11/2006, 11h57
  3. Réponses: 5
    Dernier message: 08/09/2006, 12h23
  4. String CellEditor pour JTable
    Par noussa_nouha dans le forum Composants
    Réponses: 1
    Dernier message: 29/08/2006, 11h28
  5. Vecteur de vecteur pour JTable
    Par arasium dans le forum Langage
    Réponses: 3
    Dernier message: 21/06/2006, 12h24

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo