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 :

[swing][JTable] Actuelisation de fenetre.


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
    Février 2004
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 21
    Par défaut [swing][JTable] Actuelisation de fenetre.
    bonjour à tous,

    je suis entrain de faire un programme qui se connecte à une base de donnée, et qui affiche son contenu dans un JTable, à la creation de ma fenetre principale, ma JTable n'est pas initialisée, mais ensuite lorsque l'utilisateur me donne ces parametres (serveur, utilisateur etc.) je vai chercher la base et je rempli la JTable...
    mais mon probleme c'est que la fenetre ne se met pas à jour

    voilà ce que j'ai fait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    public void setTable(JTable t)
    {
    	Table = t;
    	scrollPane = new JScrollPane(Table); // Table dans un scrollpane.
    	scrollPane.repaint();
    	scrollPane.revalidate();
     
    	validate(); // ma classe extends JFrame
    	repaint();
    }

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 29
    Par défaut
    Je comprends pas trop ce que tu fais ? pourquoi tu changes la JTable ? Tu peux pas te contenter de modifier le modele ?

    Enfin pour ton code, je suppose que tu as ajouté scrollPane à ta JFrame mais quand tu fais scrollPane = new JScrollPane, je pense que tu modifies uniquement l'adresse sur laquelle pointe la variable scrollPane. Ca va pas modifier le JScrollPane qui se trouve dans ta JFrame.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Février 2004
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 21
    Par défaut
    en fait dans une autre class je rempli une JTable, et je redefini celle de ma classe principale avec celle que j'ai rempli.

    pour le modéle je sais pas trop c'est quoi ?

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    19
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 19
    Par défaut
    Essai :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    public void setTable(JTable t) 
    { 
       Table = t; 
     
       scrollPane = new JScrollPane(); 
       scrollPane.setViewportView(Table);
     
       scrollPane.repaint(); 
       scrollPane.revalidate(); 
     
       validate(); // ma classe extends JFrame 
       repaint(); 
    }
    [ Modéré par vedaer ]
    -> Ajout des balises code
    [ Merci de respecter les Règles du Forum ]

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 29
    Par défaut
    euh... comment t'arrives à remplir une JTable sans modéle ???

    En fait une JTable c'est un composant d'affichage derivé des schémas mvc (modele/vue/controleur).

    Tu as le modele qui contient les informations dans un tableau, une arraylist... (ce que tu veux).
    Tu as le controleur qui est chargé de donner l'accés au modele pour les modifications (pas toujours séparé des deux autres).
    Tu as la vue qui gere l'affichage. Elle est avertie quand le modele change et elle doit simplement lire les modifiactions pour se remettre à jour.

    Dans ton cas la JTable est une vue. Ton modele peut être par exemple un DefaultTableModel. Tu créés le modele et tu le remplies. Ensuite tu créés ta vue (JTable) avec comme parametre ton modele.

    Quand le modéle sera modifié tu indiques à la JTable qu'elle doit se recharger. La JTable ira interroger son modéle pour se mettre à jour.

    Donc pour un même modéle tu peux avoir plusieurs representations ou plusieurs JTable.

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Février 2004
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 21
    Par défaut
    @djangers merci c'etait presque ca :

    Le bon code est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    public void setTable(JTable t)
    {
    	Table = t;
    	scrollPane.setViewportView(Table); 
     
    	scrollPane.repaint(); 
    	scrollPane.revalidate();
     
    	validate();
    	repaint();
    }
    @staul je rempli ma JTable avec le constructeur : JTable(Object[][] rowData, Object[] columnNames)

    mais j'aimerai savoir comment vous faites pour mettre des checkBox dans certaines colones mais pas dans d'autres ?

  7. #7
    Membre confirmé

    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    120
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2002
    Messages : 120
    Par défaut
    Tu dois créer toi meme ton modele

    Regarde du coté de DefaultTableModel :-)

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Février 2004
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 21
    Par défaut
    merci à tous je vien de jeter un coup d'oeil sur le site de sun

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 08/07/2011, 17h22
  2. [Swing]JTable- Dimensionner les colonnes
    Par loutfi dans le forum Composants
    Réponses: 12
    Dernier message: 01/07/2011, 09h50
  3. [Swing / JTable] Rendre les cellules d'un JTable non éditables
    Par Jérôme_20 dans le forum Composants
    Réponses: 20
    Dernier message: 10/02/2011, 11h32
  4. [Debutant][Swing][Jtable]Peut-on avoir 2 forecolor ?
    Par britou dans le forum Composants
    Réponses: 7
    Dernier message: 14/05/2004, 16h03
  5. [SWING]jTable + Focus
    Par chady dans le forum Composants
    Réponses: 5
    Dernier message: 27/02/2003, 15h51

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