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 :

Comment ajouter le texte "no result" au fond d'une JTable


Sujet :

Composants Java

  1. #1
    En attente de confirmation mail Avatar de Akira
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    85
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2002
    Messages : 85
    Points : 93
    Points
    93
    Par défaut Comment ajouter le texte "no result" au fond d'une JTable
    Bonjour,

    J'ai pas mal cherché mais je n'arrive pas à trouver de piste, je viens donc chercher de l'aide.

    Ce que je souhaite c'est juste afficher un message sur le fond de mon tableau lorsqu'il n'y a pas de résultat de recherche.

    Exemple de message "aucun résultat ne correspond à vos critères de recherche".

    J'ai essayé pas mal de piste en utilisant un label placé sous le tableau et en rendant le JScrollPane transparent mais le résultat n'est pas concluant.

    Si vous avez des idées je suis preneur.

    Bonne journée
    Nicolas

  2. #2
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Salut,


    Tu peux ajouter des composants dans une JTable (en plus des cellules). Ils seront alors affiché par dessus les cellules :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    	JTable table = new JTable(model);
    	// On applique un Layout à la JTable
    	// (cela ne concerne pas les cellules qui sont affiché directement)
    	table.setLayout(new BorderLayout());
    	// On ajoute un label qui correspond à notre message :
    	JLabel label = new JLabel("aucun résultat ne correspond à vos critères de recherche", JLabel.CENTER);
    	table.add(label);
    Il suffit ensuite d'utiliser un setVisible(true/false) pour afficher/cacher le message quand bon te semble (avec un listener sur le modèle par exemple)


    Attention car il reste un petit détail : par défaut la JTable ne prend pas tout l'espace disponible dans le ScrollPane si elle n'en a pas besoin. En clair lorsque tu n'a aucun élément la JTable a une taille nulle et tu ne verras rien du tout.

    Il faut forcer le mode "FillsViewportHeight" pour que la JTable recouvre la taille du JScrollPane au minimum :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    	table.setFillsViewportHeight(true);

    a++

  3. #3
    En attente de confirmation mail Avatar de Akira
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    85
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2002
    Messages : 85
    Points : 93
    Points
    93
    Par défaut
    Merci cela marche parfaitement et c'est une solution "propre"

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 10/02/2007, 09h39
  2. [debutante]Comment Ajouter du texte dans un listbox
    Par @yoyo dans le forum Windows Forms
    Réponses: 4
    Dernier message: 23/01/2007, 10h28
  3. [TWebBrowser] Comment ajouter du texte ?
    Par el_diablos dans le forum Composants VCL
    Réponses: 18
    Dernier message: 06/07/2004, 09h17

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