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

AWT/Swing Java Discussion :

JXTable - mise à jour


Sujet :

AWT/Swing Java

  1. #1
    Membre confirmé Avatar de fabred
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    180
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2007
    Messages : 180
    Par défaut JXTable - mise à jour
    Je n'arrive à modifier la valeur d'un champs d'un JXTable.

    this.totale est un float.


    tabSurface.getJXTabProjet().setValueAt(this.totale,0, 3);

    S'agit il d'un problème de mise à jour ?
    Comment modifier les champs du tableau ?

  2. #2
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    En ce qui concerne les valeurs d'un JTable (ou JXTable par héritage) tout doit être fait au niveau du model de ta JTable, et non au niveau de la table elle même.

    Donc procèdes de la manière suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    tabSurface.getJXTabProjet().getModel().setValueAt(this.totale,0, 3);

  3. #3
    Membre confirmé Avatar de fabred
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    180
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2007
    Messages : 180
    Par défaut
    J'ai rajouté le getModel() mais ca ne change rien !

    La valeur this.totale n'apparait toujours pas dans le tableau.

  4. #4
    Membre chevronné Avatar de Claythest
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    558
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 558
    Par défaut
    As tu redéfinis ton TableModel ? Si oui, as-tu bien implémenté la méthode setValueAt ?

    Ta JTable est-elle éditable ?

  5. #5
    Membre confirmé Avatar de fabred
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    180
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2007
    Messages : 180
    Par défaut
    1ere question : Non !

    2eme question : Oui !

  6. #6
    Membre chevronné Avatar de Claythest
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    558
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 558
    Par défaut
    Alors montre du code !

  7. #7
    Membre confirmé Avatar de fabred
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    180
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2007
    Messages : 180
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    tabSurface = new TableSurface();
     
    float SAU = this.totale+this.autre+this.disposition+this.propriete+this.metayage+this.fermage;
     
    tabSurface.getJXTabCols().getModel().setValueAt(this.totale,0, 1);
    tabSurface.getJXTabCols().getModel().setValueAt(SAU, 1, 1);
    tabSurface.getJXTabCols().getModel().setValueAt(String.valueOf(this.propriete),2, 1);
    tabSurface.getJXTabCols().getModel().setValueAt(this.fermage,3, 1);
    tabSurface.getJXTabCols().getModel().setValueAt(this.metayage,4, 1);
    tabSurface.getJXTabCols().getModel().setValueAt(this.disposition,5, 1);
    tabSurface.getJXTabCols().getModel().setValueAt(this.autre,6, 1);
    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
     
    public JXTable getJXTabCols() {
    		if (jXTabCols == null) {
    			DefaultTableModel tableModel = new DefaultTableModel(dataColonnes, nomColonnes);
    			jXTabCols = new JXTable(tableModel);
    			ColumnHeaderRenderer colonneHeaderRenderer = (ColumnHeaderRenderer) jXTabCols.getTableHeader().getDefaultRenderer();
    			colonneHeaderRenderer.setHorizontalAlignment(SwingConstants.CENTER);
     
    			jXTabCols.setPreferredSize(new Dimension(500,500));
    			jXTabCols.setHorizontalScrollEnabled(false); 
    			jXTabCols.setColumnControlVisible(false);
    			jXTabCols.setSortable(false);
    			jXTabCols.setDragEnabled(false);
    			jXTabCols.setGridColor(Color.LIGHT_GRAY);
    			jXTabCols.setHighlighters(new HighlighterPipeline(new Highlighter[] {AlternateRowHighlighter.linePrinter}));
    			jXTabCols.getTableHeader().setReorderingAllowed(false);
     
     
     
    		}
    		return jXTabCols;
    	}

  8. #8
    Membre chevronné Avatar de Claythest
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    558
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 558
    Par défaut
    Ce code fonctionne...

    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
    public class Main extends JFrame {
     
        private JXTable jXTabCols;
     
        /** Creates a new instance of Main */
        public Main() {
            getContentPane().add(getJXTabCols());
     
            getJXTabCols().getModel().setValueAt(3.,0, 1);
            getJXTabCols().getModel().setValueAt(2., 1, 1);
            getJXTabCols().getModel().setValueAt(1.,2, 1);
            getJXTabCols().getModel().setValueAt(4.,3, 1);
            getJXTabCols().getModel().setValueAt(6.,4, 1);
            getJXTabCols().getModel().setValueAt(5.,5, 1);
            getJXTabCols().getModel().setValueAt(2.2,6, 1);
     
            pack();
            setLocationRelativeTo(null);
            setVisible(true);
        }
     
        /**
         * @param args the command line arguments
         */
        public static void main(String[] args) {
            new Main();
        }
     
        public JXTable getJXTabCols() {
            if (jXTabCols == null) {
                String[] nomColonnes = new String[]{"1","2","3","4","5","6", "7"};
                Object[][] dataColonnes = new Object[7][];
                for (int i = 0; i < 7; i++){
                    dataColonnes[i] = new Object[]{1,2,3,4,5,6,7};
                }
                DefaultTableModel tableModel = new DefaultTableModel(dataColonnes, nomColonnes);
                jXTabCols = new JXTable(tableModel);
                ColumnHeaderRenderer colonneHeaderRenderer = (ColumnHeaderRenderer) jXTabCols.getTableHeader().getDefaultRenderer();
                colonneHeaderRenderer.setHorizontalAlignment(SwingConstants.CENTER);
     
                jXTabCols.setPreferredSize(new Dimension(500,500));
                jXTabCols.setHorizontalScrollEnabled(false);
                jXTabCols.setColumnControlVisible(false);
                jXTabCols.setSortable(false);
                jXTabCols.setDragEnabled(false);
                jXTabCols.setGridColor(Color.LIGHT_GRAY);
                //jXTabCols.setHighlighters(new HighlighterPipeline(new Highlighter[] {AlternateRowHighlighter.linePrinter}));
                jXTabCols.getTableHeader().setReorderingAllowed(false);
     
     
     
            }
            return jXTabCols;
        }
    }
    élague ton code afin d'obtenir le code le plus petit possible avec le bug... Il te sera plus facile de le corriger

  9. #9
    Membre confirmé Avatar de fabred
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    180
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2007
    Messages : 180
    Par défaut Merci
    C'est bon ca marche !

    Merci à Claythest et sinok !


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

Discussions similaires

  1. [JXTable] MoveColumn et mise à jour du modèle
    Par Noctis dans le forum AWT/Swing
    Réponses: 3
    Dernier message: 09/04/2013, 15h01
  2. [mise à jour]Comment procéder sans tout péter...
    Par FFF dans le forum Installation
    Réponses: 3
    Dernier message: 10/09/2003, 09h11
  3. Mise à jour de la version de MySQL
    Par jobstar dans le forum Administration
    Réponses: 8
    Dernier message: 18/08/2003, 11h45
  4. mise à jour de champs time (interbase)
    Par pram dans le forum XMLRAD
    Réponses: 6
    Dernier message: 04/03/2003, 11h25
  5. Réponses: 2
    Dernier message: 12/02/2003, 16h26

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