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 :

Mettre à jour un bouton dans une JTable


Sujet :

Composants Java

  1. #1
    Membre habitué
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Mai 2008
    Messages
    382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2008
    Messages : 382
    Points : 191
    Points
    191
    Par défaut Mettre à jour un bouton dans une JTable
    Bonjour à tous,

    Je suis en train de faire un tableau de comptabilité.
    J'ai un champs de date extérieur à la JTable nommé "date_de_pointage".
    Dès que je change la date sur ce champs, je voudrais mettre a jour la table.
    Voilà ce que j'ai écris:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    date_de_pointage.addPropertyChangeListener(new PropertyChangeListener() {
    	public void propertyChange(PropertyChangeEvent e) {
    		table.getColumn("Pointage").setCellEditor(new ButtonEditor("pointage_compta", new JCheckBox(), date_de_pointage.getDate()));//Lorsqu'on clique sur le bouton
            }               
    });
    Je souhaite que dès qu'on clique sur le bouton nommée Pointage dans la colonne "Pointage", cela me met la nouvelle date de pointage a jour.
    Classe ButtonEditor:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    if(this.button.getText()=="Pointage"){
    					((AbstractTableModel)table.getModel()).setValueAt(date_pointage.getDateAvecSlash(), this.row, (this.column +1));
    					//On affecte la date dans la bdd	
    					compta_banqueDao.update("check", "1", "check_mois", date_pointage.getDateTime2(), (Integer) table_model.getValueAt(row, 0, 1));
    					logger.info("Mise a jour de compta_banque, on affecte la date de pointage");
    					this.button.setText("Dépointage");
    				}
    Sur le principe ça marche!
    Si je pointe en cliquant sur le bouton-> la date de pointage se remplit dans la colonne suivante.
    Si je change la date, et que je pointe a nouveau la même cellule. Il me remet la date de pointage précédent.-->Erreur que je cherche a corriger

    Par contre, si entre temps je clique sur une autre cellule, il me change bien la date de pointage.

    En gros le fait de cliquer sur une autre cellule me valide ma nouvelle date.
    Ma question comment faire valider la JTable.
    J'ai essayé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    table.repaint();
    table.revalidate();
    table.updateUI();
    table.validate();
    Sans succès.

  2. #2
    Membre éprouvé Avatar de fraco
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    750
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2006
    Messages : 750
    Points : 934
    Points
    934
    Par défaut
    Salut !

    Es-tu certain de passer dans ButtonEditor ? normalement == est réservé aux valeurs numériques.

    plutôt que if(this.button.getText()=="Pointage"),
    essaie avec if("Pointage".equals(this.button.getText()))


    Pour les comparaisons, en mettant la valeur littérale (ici "Pointage") dans le premier membre, ton code fonctionnera même si le deuxième membre, dans ce cas this.button.getText(), renvoie une valeur nulle; dans l'autre sens ça plante.

    Bonne chance !
    .

  3. #3
    Membre habitué
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Mai 2008
    Messages
    382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2008
    Messages : 382
    Points : 191
    Points
    191
    Par défaut
    Merci fraco, tu as tout a fait raison! La syntaxe n'est pas bonne, mais elle fonctionne quand même. Ce n'est pas le vrai problème.

    J'ai une autre idée qui consiste a mettre dans le modèle de la JTable la valeur de pointage dans un champ quelconque, puis ensuite de pouvoir récupérer la date.
    Ce qui éviterait d'avoir ce type de problème!

    Je vous tient au jus!

Discussions similaires

  1. [AC-2007] mettre à jour des records dans une table liée
    Par mandrake_of_mandregas dans le forum VBA Access
    Réponses: 1
    Dernier message: 21/07/2010, 20h49
  2. [PPT-2010] mettre à jour les nombres dans une phrase
    Par pepsister dans le forum Powerpoint
    Réponses: 1
    Dernier message: 14/06/2010, 11h32
  3. bouton dans une Jtable
    Par boumacmilan dans le forum Composants
    Réponses: 3
    Dernier message: 19/06/2009, 13h34
  4. inserer un bouton dans une jtable qui marche
    Par christianf dans le forum Composants
    Réponses: 1
    Dernier message: 27/09/2007, 02h07
  5. bouton dans une jtable
    Par hokidoki dans le forum Composants
    Réponses: 1
    Dernier message: 15/05/2006, 19h46

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