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 :

[JTable] JTable et JButtons dedans


Sujet :

Composants Java

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : Maroc

    Informations forums :
    Inscription : Avril 2003
    Messages : 24
    Par défaut [JTable] JTable et JButtons dedans
    Bonjour,

    Mon probleme est le suivant. J'ai une classe (Table.java) qui crée le JTable, et une classe (MonTableModel.java) qui est le model et qui etends AbstractTableModel , et une classe (MyDefaultCellEditor.java) qui est le cellEditor de toutes les colonnes de ma table et en fin une classe (MyDefaultCellRenderer.java) qui est le rendu de de toutes les colonnes de ma table .

    Chaque ligne de ma table contien 6 colonnes, la derniere colonne etant un JButton qui doit (lors de l'evenement clique) supprimer la ligne en question (ligne courante, ligne selectionnée).

    Dans la methode (actionPerformed) de ce JButton je fais :
    modele.removeRow(table.getSelectedRow() );


    Mais le probleme c'est que la ligne ne se supprime pas sur la table (je crois que c'est un probleme de rafraichissement de la table) car la ligne est bel et bien supprimée de la arrayList contenant les données.

    Aidez moi s'il vous plait, ca fait maintenant 3 jours que je me bat contre ce probleme ( et celui d'inserer un JLabel dans une cellule de ma JTable) sans trouver la solution.

    Si vous voulez voir mon code demandez moi la partie voulue et je la poste immediatement.

    Merci.

    NB:

    La classe Table.java : implemente (ActionListener).

    La classe MonTableModel.java : etend (AbstractTableModel) et implemente (TableModel).

    La classe MyDefaultCellEditor.java : implemente (TableCellEditor).

    La classe MyDefaultCellRenderer.java : etend (DefaultTableCellRenderer).

  2. #2
    Rédacteur
    Avatar de eclesia
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    2 112
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 112
    Par défaut
    lorsque tu fais une modification du modele, tu dois executer une methode fireXXX qui correspond.

    cela entrainera la mise a jour des vues (donc de la table).

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : Maroc

    Informations forums :
    Inscription : Avril 2003
    Messages : 24
    Par défaut
    Je fais un fireTableDataChanged(); dans la methode "removeRow(int row)" de mon model. J'ai aussi essayé avec un fireTableRowsDeleted(row,row);

    mais ca marche pas encore . le tableau des données (un arrayList) se met à jur mais la vue ne fait pas de meme .

    Aidez moi s"il vous plait.

Discussions similaires

  1. Modification cellule d'une JTable avec un JButton externe
    Par pharsales dans le forum Langage
    Réponses: 0
    Dernier message: 22/03/2012, 11h41
  2. [JTable] Action sur JButton après mise en attente
    Par 6ix dans le forum Composants
    Réponses: 2
    Dernier message: 28/02/2008, 08h27
  3. [JTable] rendre un JButton dans une cellule
    Par Invité dans le forum Composants
    Réponses: 9
    Dernier message: 15/03/2007, 19h16
  4. [JTable] Un JButton dans une cellule
    Par Sarrus dans le forum Composants
    Réponses: 19
    Dernier message: 31/08/2005, 17h29
  5. Réponses: 4
    Dernier message: 09/02/2005, 11h44

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