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 :

Pb Cellule Jtable


Sujet :

Composants Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 28
    Par défaut Pb Cellule Jtable
    Salut a tous,

    J'utilise une Jtable dans laquelle les cellules peuvent être sélectionnées.
    Lorsqu'elles sont sélectionnées la couleur de fond changent.
    Je désire changer a nouveau de couleur de cellule une fois que ma table n'ait plus le focus.
    J'ai essayé dans la méthode getTableCellRendererComponent du renderer de mes cellules de mettre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     if (isSelected)
    {
             blabla
    } 
    else{
              blabla
    }
     
    ou encore
     
    if(!hasfocus)
    {
     blabla
    }
    Mais rien n'y fais. Si quelqu'un a une solution, je suis preneur.
    Merci d'avance.

  2. #2
    Membre Expert
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    1 348
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 348
    Par défaut
    Tu peux être un peu plus précis ?
    Quand tu dis on peut sélectionner, c'est on peut éditer ?
    Les tests que tu as faits, tu as mis quoi dans blahblah et qu'est-ce que ça a donné ?

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 28
    Par défaut Re
    OUahhhh aussi vite!!!

    Ouai elles sont effectivement éditables. Au fait, je tafe pour une banque, je gére donc une Jtable dans laquel il y a des lignes avec chacune une date, un montant puis un autre montant.
    Il faut pouvoir sélectionner un ensemble de lignes(Multiple_selection_interval de ma table) et effectuer un décalage de dates sur les lignes sélectionnées (via un spinner).
    Moi mon pb,la ou le bas blesse, c'est qu'il faut qu'une fois que l'utilisateur sorte de la table, cad clik ailleurs sur le panel, ben ke mes lignes sélectionnées changent de couleur...

  4. #4
    Membre Expert
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    1 348
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 348
    Par défaut
    Et en utilisant un focusListener qui vient changer la couleur de fond du Renderer des cellules sélectionnées ca ne fonctionne pas ?

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 28
    Par défaut
    Tu l'implémenterais ou le focusListener, dans le panel principal??
    Euh j'ai implémenté mouselistener dans mon panel principal en mettant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    public void mouseClicked(MouseEvent e)
    {
      MonCurrencyCellRenderer renderCourant1 = (MonCurrencyCellRenderer) tblEcheancierFlux.getCellRenderer(indice.intValue(),1);
      renderCourant1.setBackground(sigad.presentation.lookandfeel.SigadLookAndFeel.ORANGE);
      renderCourant1.setForeground(Color.BLACK);
    }
    Ou indice est l'une des lignes sélectionnées

  6. #6
    Membre Expert
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    1 348
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 348
    Par défaut
    Ben j'aurais plutôt mis un focusListener sur la JTable ...

  7. #7
    Membre Expert
    Avatar de Gueritarish
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2007
    Messages
    1 800
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2007
    Messages : 1 800
    Par défaut
    Salut,

    Pour reprendre un peu où t'a laissé chtig... Il te conseillait d'utiliser un FocusListener (cf javadoc : http://java.sun.com/j2se/1.4.2/docs/...Listener.html). Donc c'est à dire qu'en fait ton JTable doit implémenter l'interface FocusListener et qu'il te reste plus qu'à faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    taTable.addFocusListener()
    ensuite, dans la méthode focusLost(), que tu dois implémenter, il te suffit de remettre le fond de tes cellules de la couleur normale (si c'est bien ce que tu veux faire... si j'ai bien compris )

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 28
    Par défaut Re
    Salut,

    J'ai essayé focusLost() et j'ai l'impression ke cette méthode n'est appelé que lorsque j'agis sur ma JTable.Bizarre nan??
    Autre chose, je n'arrive pas a changer la couleur de ma cellule depuis ma Jtable en faisant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    MonCurrencyCellRenderer renderCourant1 = (MonCurrencyCellRenderer) tblEcheancierFlux.getCellRenderer(indice.intValue(),1);
    renderCourant1.setBackground(sigad.presentation.lookandfeel.SigadLookAndFeel.ORANGE);
    renderCourant1.setForeground(Color.BLACK);
    Est-ce la bonne solution pour changer la couleur de ma cellule...???

Discussions similaires

  1. Fusionner cellule JTable
    Par timtima dans le forum Composants
    Réponses: 0
    Dernier message: 21/11/2008, 18h44
  2. Changer la couleur de fond cellule JTable
    Par donnadieujulien dans le forum Composants
    Réponses: 13
    Dernier message: 22/09/2008, 18h38
  3. cellule Jtable avec Jcombobox
    Par mina86 dans le forum Composants
    Réponses: 2
    Dernier message: 11/08/2008, 16h18
  4. dimension cellule JTable
    Par gdhugue1 dans le forum Composants
    Réponses: 2
    Dernier message: 11/06/2007, 11h31
  5. rafraichissement cellule JTable
    Par jdewalqu dans le forum Composants
    Réponses: 7
    Dernier message: 04/07/2006, 11h10

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