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 :

JTable Dynamique SWing


Sujet :

Composants Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Juillet 2006
    Messages
    294
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 294
    Par défaut JTable Dynamique SWing

    J’ai un vecteur de classe personne cette dernière contient trois attribut : nom,prenom,age
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    public class personne{
    private String nom;
    private String prenom;
    private int nom;
    }
    Vector<personne> V=new Vector();
    Je veux les schematiser dans un tableau en swing:

    String colonne={« NOM », « PRENOM», « AGE »};
    Donnee ???
    JTable T=new JTable(donnee,colonne) ;



    Comment je déclare donnée car leur écriture est dynamique ?
    Avec JTable on peut changer les valeurs des cellules y a pas une methode pour afficher les donnée en lecture simple sans qd puisse modifier les valeurs des cellules
    Merci pour vos aides

  2. #2
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765

  3. #3
    Membre éclairé
    Inscrit en
    Juillet 2006
    Messages
    294
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 294
    Par défaut
    Merci pour le lien pour faq
    Bon j’ai des questions peu etre je dis des betises mais je veux comprendre le principe de fonctionnement de JTable
    1)Pour le remplissage de jtable de facon dynamique,est ce que je suis oblige d’utilser un model par defaut ou je definit mon propre model
    2) j’ai ajoute un bouton pour supprimer la ligne selectionn mais j’ai probleme quel instruction a mettre ??

    Voici code :
    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
     
    import java.awt.Dimension;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.util.Vector;
    import javax.swing.*;
     
     
    public class tableau implements ActionListener {
    JFrame f=new JFrame();
    JPanel p=new JPanel();
    JButton A=new JButton("Supprimer");
     
    Object[][] donnees ;
    String[] titreColonnes = {"Nom","Prenom","Age"};
    JTable table;
    Vector <personne> VP;
    tableau()
    {
    	VP=new Vector();
    	personne m=new personne("ali","ki",12);
    	personne n=new personne("ttt","hhh",32);
    	personne o=new personne("fff","ki",92);
    	VP.addElement(m);
    	VP.addElement(n);
    	VP.addElement(o);
     
    	donnees=new Object[VP.size()][titreColonnes.length];
    	for(int i=0;i<VP.size();i++)
    	{
    		personne P=VP.get(i);
    		donnees[i][1]=P.getnom();
    		donnees[i][2]=P.getprenom();
    		donnees[i][3]=P.getage();
     
    	}
    	table = new JTable(donnees, titreColonnes);
    	table.setPreferredScrollableViewportSize(new Dimension(400, 80));
        JScrollPane scrollpane = new JScrollPane(table);
      	A.addActionListener(this);	
    	p.add(scrollpane);
    	p.add(A);
    	f.getContentPane().add(p);
    	f.setVisible(true);
     
    }
    	/**
             * @param args
             */
    	public static void main(String[] args) 
    	{
    		// TODO Auto-generated method stub
    		tableau T=new tableau();
    	}
    	public void actionPerformed(ActionEvent e)
    	{
    		if(e.getSource()==A)
    		{
             int ligne_sel=table.getSelectedRow();
             if(ligne_sel!=-1)
             {
            	// 	 table.delete_row(ligne_sel);//supprimer la ligne
             }
    		}
     
    	}
    }
    merci pour vos aides

  4. #4
    Membre chevronné Avatar de bassim
    Homme Profil pro
    Ingénieur Réseaux
    Inscrit en
    Février 2005
    Messages
    666
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur Réseaux
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2005
    Messages : 666
    Par défaut
    Pour le remplissage de jtable de facon dynamique,est ce que je suis oblige d’utiliser un model par defaut ou je definit mon propre model
    si le modèle par défaut te convient alors utilise le , parceque créer son propre modèle implique un peu plus de reflexion pour implementer toutes les méthodes demandées.

    j’ai ajoute un bouton pour supprimer la ligne selectionn mais j’ai probleme quel instruction a mettre ??
    essaye ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    taTable.getModel().remove(ligneselectionnee)

  5. #5
    Membre éclairé
    Inscrit en
    Juillet 2006
    Messages
    294
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 294
    Par défaut
    bonjour, j'ai change ds mon code pour quil puisse herite de model par defaut
    et j'ai redefini is celleditabble mais elle ne fonctionne pas je ne sais pas la cause ainsi pour taTable.getModel().remove(ligneselectionnee) ne marche pas
    voici mon nouveau code
    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
     
    import java.awt.Dimension;
    import java.awt.Point;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.util.ArrayList;
    import java.util.Collection;
    import java.util.Vector;
    import javax.swing.*;
    import javax.swing.table.DefaultTableModel;
     
     
    public class tableau extends DefaultTableModel implements ActionListener {
    JFrame f=new JFrame();
    JPanel p=new JPanel();
    JButton A=new JButton("Supprimer");
     
    Object[][] donnees ;
    String[] titreColonnes = { "Num","Nom","Prenom","Age"};
    JTable table;
    ArrayList <personne> VP;
    tableau()
    {
    	VP=new ArrayList();
    	personne m=new personne("ali","ki",12);
    	personne n=new personne("Fabien","hhh",32);
    	personne o=new personne("salah","ki",92);
    	VP.add(m);
    	VP.add(n);
    	VP.add(o);
     
    	donnees=new Object[VP.size()][titreColonnes.length];
    	for(int i=0;i<VP.size();i++)
    	{
    		personne P=VP.get(i);
    		donnees[i][1]=P.getnom();
    		donnees[i][2]=P.getprenom();
    		donnees[i][3]=P.getage();
     
    	}
    	table = new JTable(donnees, titreColonnes);
    	table.setPreferredScrollableViewportSize(new Dimension(400, 80));
     
        JScrollPane scrollpane = new JScrollPane(table);
       // VP.addAll((Collection<? extends personne>) new personne (2, 3));
      	A.addActionListener(this);	
    	p.add(scrollpane);
    	p.add(A);
    	f.getContentPane().add(p);
    	f.setVisible(true);
     
    }
    public boolean isCellEditable (int row, int column) {
     
     
              return ( false );
     
    } 
     
    /**
             * @param args
             */
    	public static void main(String[] args) 
    	{
    		// TODO Auto-generated method stub
    		tableau T=new tableau();
    	}
    	public void actionPerformed(ActionEvent e)
    	{
    		if(e.getSource()==A)
    		{
             int ligne_sel=table.getSelectedRow();
             if(ligne_sel!=-1)
             {
     
            	// 	 table.delete_row(ligne_sel);//supprimer la ligne
             }
    		}
     
    	}
    }
    Merci enormement

  6. #6
    Membre chevronné Avatar de bassim
    Homme Profil pro
    Ingénieur Réseaux
    Inscrit en
    Février 2005
    Messages
    666
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur Réseaux
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2005
    Messages : 666
    Par défaut
    je crois que tu confonds plusieurs notions différentes , je t'invite à lire ce ce tutoriel sur le JTable et son utilisation

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

Discussions similaires

  1. JTable dynamique : ajouter des lignes
    Par koolway dans le forum Composants
    Réponses: 6
    Dernier message: 17/06/2010, 15h41
  2. JTable dynamique colonnes
    Par cotede2 dans le forum Composants
    Réponses: 4
    Dernier message: 07/06/2009, 00h29
  3. Insertion ligne JTable dynamiquement
    Par homereddoub dans le forum Composants
    Réponses: 1
    Dernier message: 21/03/2009, 14h00
  4. Jtable dynamique avec base de données
    Par sisi37 dans le forum Composants
    Réponses: 5
    Dernier message: 17/10/2008, 16h01
  5. JTable dynamique ?
    Par sandytarit dans le forum Composants
    Réponses: 18
    Dernier message: 19/01/2007, 08h56

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