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 :

problème de focus dans JTable


Sujet :

Composants Java

  1. #1
    Membre confirmé
    Inscrit en
    Mai 2007
    Messages
    75
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 75
    Par défaut problème de focus dans JTable
    Bonjour à tous,

    Voici mon problème :
    Lorsque que je clique sur un ligne de ma JTable, toutes les cellules de la ligne
    sont automatiquement colorées en bleu, sauf la cellule sur laquelle j'ai cliqué.

    Or, je voudrais que quand je clique sur une cellule, toute la ligne soit colorée en bleu, y compris la cellule sur laquelle j'ai cliqué.

    Merci.

    a+

  2. #2
    Membre confirmé
    Inscrit en
    Mai 2007
    Messages
    75
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 75
    Par défaut
    Je précise que ma JTable est construite avec des Vectors et pas avec un TableModel.

    (je sais pas si ça change quelque-chose à mon problème mais bon...)

  3. #3
    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 un Renderer ? As tu changé le mode de sélection de ta JTable ?

  4. #4
    Membre confirmé
    Inscrit en
    Mai 2007
    Messages
    75
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 75
    Par défaut
    Non, je n'ai pas redéfini de renderer.

    Concernant le mode de sélection, j'ai codé ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     table.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);

  5. #5
    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
    Citation Envoyé par adn013
    Non, je n'ai pas redéfini de renderer.

    Concernant le mode de sélection, j'ai codé ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     table.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
    enleve cette ligne, ca devrait fonctionner normalement

  6. #6
    Membre confirmé
    Inscrit en
    Mai 2007
    Messages
    75
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 75
    Par défaut
    Je ne peux pas virer cette ligne car je veux que l'utilisateur ne puisse sélectionner qu'une seule ligne.

  7. #7
    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
    Ah oui excuse moi, j'ai confondu avec cette méthode : setCellSelectionEnabled(false);

    As-tu changé cette propriété ? (par défaut c'est à false, l'as tu mise à true ?)

  8. #8
    Membre confirmé
    Inscrit en
    Mai 2007
    Messages
    75
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 75
    Par défaut
    lorsque je rajoute :

    table.setCellSelectionEnabled(false);

    ou

    table.setCellSelectionEnabled(true);

    ça me donne le contraire de ce que veux, c'est-à-dire que lorsque
    je clique sur un ligne, celle-ci n'est plus du tout colorée en bleu.

  9. #9
    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
    Tu as changé les couleurs de ta JTable non ?

    Tu n'as ce drole de comportement que pour ta JTable ? Que se passe-t-il si tu sélectionnes du texte dans un JTextField ?

  10. #10
    Membre confirmé
    Inscrit en
    Mai 2007
    Messages
    75
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 75
    Par défaut
    Je n'ai changé aucune couleur.

    Lorsque je sélectionne du texte dans un JTextField, il devant blanc sur fond bleu ce qui est normal.

  11. #11
    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
    Citation Envoyé par adn013
    Je n'ai changé aucune couleur.

    Lorsque je sélectionne du texte dans un JTextField, il devant blanc sur fond bleu ce qui est normal.
    Ben alors tout est normal

    Si pour ton look and feel, la couleur de sélection est le blanc, et la couleur de fond sans sélection est blanc, tu n'as aucun problème... C'est bien ça que tu as aussi sur ta JTable...

  12. #12
    Membre confirmé
    Inscrit en
    Mai 2007
    Messages
    75
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 75
    Par défaut
    Excuse moi, je pense que je me suis mal exprimé.

    En fait, il ne s'agissait pas d'un "problème". C'est le comportant normal que j'aimerais modifié pour que, justement, lorsque je clique sur une cellule,
    toute la ligne soit de couleur bleu, y compris la cellule sur laquelle j'ai cliqué.

    Je dois probablement utilisé un renderer nan ?

  13. #13
    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
    Ah ok

    Désolé j'avais pas compris...

    Tu as 2 solutions :

    - ou faire un renderer en effet
    - ou changer les couleurs de ta JTable avec setSelectionBackground, setBackground, setForeground et setSelectionForeground

    Le plus simple est la deuxième solution, mais si tu veux des choses plus compliquées, il te faudra créer un renderer

  14. #14
    Membre confirmé
    Inscrit en
    Mai 2007
    Messages
    75
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 75
    Par défaut
    j'ai testé les 4 méthodes que tu m'as indiqué,
    mais elles ne permettent pas de faire ce que je veux.

    Je vais donc voir du coté du renderer.

    En tout cas, merci pour ton aide.

    a+

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

Discussions similaires

  1. Problèmes affichage Canvas3D dans JTable
    Par izineela dans le forum 3D
    Réponses: 2
    Dernier message: 22/06/2012, 18h11
  2. Problème de focus dans un panel
    Par Scots dans le forum ASP.NET
    Réponses: 9
    Dernier message: 30/09/2011, 19h29
  3. focus dans une cellule d'une JTable
    Par coil dans le forum Composants
    Réponses: 5
    Dernier message: 07/07/2010, 18h15
  4. Réponses: 1
    Dernier message: 05/05/2010, 17h28
  5. problème de focus dans un CEdit
    Par Depteam1 dans le forum MFC
    Réponses: 11
    Dernier message: 08/09/2005, 16h05

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