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

 Java Discussion :

Quelques questions sur les JTable


Sujet :

Java

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2018
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2018
    Messages : 4
    Points : 4
    Points
    4
    Par défaut Quelques questions sur les JTable
    Bonjour,

    J'ai quelques questions sans réponse en tête, merci de votre aide


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Bonjour Mon code est actuellement organiser comme ça:
     
    Appli(main) --> Affichage (mon JFrame) --> Panneau (mon Jpanel) 
     
    Panneau contient tout mes JLabel, JButton et mes deux JTable
    Première question: c'est ma première application avec une interface graphique, cette organisation est-elle satisfaisante?

    Concernant l'actualisation des données des JTable: On entend tout et n'importe quoi je ne sais plus vraiment quelle méthode choisir. paint(), repaint(), revalidate(), fireTableDataChanged() ...

    Deuxième question : Savez vous quelle méthode choisir sachant que les données de mon tableau seront toutes modifiées à chaque actualisation mais pas de la structure du tableau?

    Je vous remercie d'avoir lu jusqu'ici -

    question bonus: j'ai tout tenté (mais en mal apparemment) pour afficher les titres de colonnes de mes JTable.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    private void proprietesTableau() {	    
    	    this.tableau12 = new JTable(modele12);
    	    this.tableau14 = new JTable(modele14);
    	    tableau12.setBounds(180, 330, 200, 300);
    	    tableau14.setBounds(450, 330, 200, 300);
     
    //Oui c'est moche je sais et en plus ça ne marche pas du tout. Puni par le Karma...:lol:
    	    tableau12.getTableHeader().setBounds(180, 330, 200, 300);
    	    tableau12.getTableHeader().setVisible(true);
    	    this.add(new JScrollPane(this.tableau12));
    	    JScrollPane jScrollPane1 = new javax.swing.JScrollPane();
    	    jScrollPane1.setAutoscrolls(true);
    	    jScrollPane1.setViewportView(this.tableau12);     
    	    this.add(jScrollPane1);
     
    	    this.add(tableau12);
    	    this.add(tableau14);

    A votre bon cœur ^^

  2. #2
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Citation Envoyé par Pytrium Voir le message
    Première question: c'est ma première application avec une interface graphique, cette organisation est-elle satisfaisante?
    Impossible à dire sans avoir plus de détail. Souvent on crée des composant pour tout ce qui spécialise des morceaux de l'interface, et on regroupe tout ça dans l'UI. C'est à voir avec la réutilisabilité des tes composants et la complexité de ton panel / ta frame. Il faut sourtout essayer d'éviter dans le piège de la classe kilométrique avec des centaines de champs privés, c'est vite un cauchemard à maitenir.



    Citation Envoyé par Pytrium Voir le message
    Deuxième question : Savez vous quelle méthode choisir sachant que les données de mon tableau seront toutes modifiées à chaque actualisation mais pas de la structure du tableau?
    Tes données seront dans une classe héritant de TableModel. Utilise exclusivement les méthodes présente dans le modèle pour notifier les listener que des données on changé. Au final, le fait que ce soit présent à l'écran, ce n'est pas trop ton problème. Par contre si t'as des soucis d'affichage avec ça, c'est surement parce que tu ne fait pas tes modification dans l'EDT, et ça c'est pas bien. L'UI n'est pas multithread safe. Toutes les opérations de mise à jour doivent se faire dans le thread grahique.
    Citation Envoyé par Pytrium Voir le message
    question bonus: j'ai tout tenté (mais en mal apparemment) pour afficher les titres de colonnes de mes JTable.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    	    tableau12.setBounds(180, 330, 200, 300);
    	    tableau14.setBounds(450, 330, 200, 300);
    	    tableau12.getTableHeader().setBounds(180, 330, 200, 300);
    	    tableau12.getTableHeader().setVisible(true);
    setBounds est le boulot de ton LayoutManager, ce n'est pas à toi de l'appeler et de toutes façons le layoutmanager va l'écraser. Le JTable est tout à fait capable de gérer son header tout seul.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    JScrollPane jScrollPane1 = new JScrollPane(this.tableau12);
    	    jScrollPane1.setAutoscrolls(true);
    	    this.add(jScrollPane1);
    Est tout à fait suffisant. Ne pas oublier un setPreferredSize et un setMinimumSize sur le scrollpane car il ne réclame rien par défaut.
    Par contre dans ton code, tu ajoute le tableau à 2 endroit (scrollpane.setViewPort et this.add) et ça ce n'est pas bon du tout. Un composant graphique ne peut avoir qu'un seul parent. Il y a fort à parier que ta table se retrouve dans ton composant pricipal, avec son header dans le scrollpane (invisible car vide) avec ça.

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2018
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2018
    Messages : 4
    Points : 4
    Points
    4
    Par défaut
    merci beaucoup tchize_

Discussions similaires

  1. Réponses: 9
    Dernier message: 27/12/2006, 13h26
  2. Quelques questions sur les shaders
    Par Yno dans le forum OpenGL
    Réponses: 2
    Dernier message: 04/12/2006, 15h44
  3. Quelques questions sur les annuaires ldap
    Par rvfranck dans le forum Réseau
    Réponses: 7
    Dernier message: 15/08/2006, 02h41
  4. Quelques questions sur les LOB
    Par Wurlitzer dans le forum Oracle
    Réponses: 2
    Dernier message: 14/06/2006, 17h32
  5. Quelques questions sur les threads
    Par benj63 dans le forum C++Builder
    Réponses: 28
    Dernier message: 21/11/2005, 13h27

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