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] ajouter une ligne


Sujet :

Composants Java

  1. #1
    Membre du Club
    Inscrit en
    Janvier 2006
    Messages
    107
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 107
    Points : 48
    Points
    48
    Par défaut [JTable] ajouter une ligne
    Bonjour .
    J'aimerais savoir comment on peut rajouter une ligne dans un JTable ?
    pour créer mon Tableau, je récupère les données dans un
    ArrayList<String> .

  2. #2
    Membre chevronné
    Profil pro
    Fabrication GED
    Inscrit en
    Octobre 2005
    Messages
    1 405
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Fabrication GED

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 405
    Points : 1 958
    Points
    1 958
    Par défaut
    Il faut créer ton propre TableModel, lui définir une méthode "addLine()" par exemple, et affecter ce TableModel à ta table.

  3. #3
    Membre du Club
    Inscrit en
    Janvier 2006
    Messages
    107
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 107
    Points : 48
    Points
    48
    Par défaut
    Oui mais c'est justement la mon problème , je bloque au niveau de la création de la méthode addLine....

  4. #4
    Membre chevronné
    Profil pro
    Fabrication GED
    Inscrit en
    Octobre 2005
    Messages
    1 405
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Fabrication GED

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 405
    Points : 1 958
    Points
    1 958
    Par défaut
    Il suffit de rajouter une ligne à ton tableau ( ou autre structure ) servant à stacker les données dans ton TableModel.
    si c'est un tableau de tableau, il faut le redéfinir :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    datas=new Object[datas.lentgh+1][];
    ...
    // on recopie et on initialise la nouvelle ligne
    si c'est une liste, il suffit de rajouter une ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    datas.add(new Object[ligne.length]);
    pour t'en dire plus, faudrait que tu nous expliques comment tu gère ton model.

  5. #5
    Membre du Club
    Inscrit en
    Janvier 2006
    Messages
    107
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 107
    Points : 48
    Points
    48
    Par défaut
    Vopilà mon code mais aucune ligne ne s'ajoute ....

    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.*;
    import java.awt.event.*;
    import java.text.*;
    import javax.swing.*;
    import javax.swing.table.*;
    import java.util.*;
     
    public class PlanetTable {
    	public static void main(String[] args) {
    		JFrame frame = new PlanetTableFrame();
    		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    		frame.setVisible(true);
    	}
    }
     
    class PlanetTableFrame extends JFrame {
    	public PlanetTableFrame() {
    		setTitle("PlanetTable");
    		setSize(600, 300);
     
    		jeuEssai();
    		TableModel model = new Investissement(person);
     
    		JTable table = new JTable(model);
    		add(new JScrollPane(table), BorderLayout.CENTER);
     
    		ajouter = new JButton("Ajouter");
    		ajouter.addActionListener(new 
    			ActionListener()
    			{
    				public void actionPerformed(ActionEvent event) {
    					String name = JOptionPane.showInputDialog(null,"Entrez un nom");
    					person.add(name);
    				}
    			}
    		);
    		JPanel p = new JPanel();
    		p.add(ajouter);
    		add(p, BorderLayout.NORTH);
    	}
     
    	public void jeuEssai() {
    		person.add("Damien");
    		person.add("Guillaume");
    		person.add("Pierre");
    	}
     
    	private JButton ajouter;
     
    	private ArrayList<String> person = new ArrayList<String>();
    }
     
    class Investissement extends AbstractTableModel {
    	public Investissement(ArrayList<String> tableau) {
    		tableauDonnee = tableau;
    	}
     
    	public int getRowCount() {
    		return tableauDonnee.size();
    	}
     
    	public int getColumnCount() {
    		return 1;
    	}
     
    	public void modifiertableau(ArrayList<String> tableau) {
    		tableauDonnee = tableau;
    	}
     
    	public Object getValueAt(int r, int c) {
    		return tableauDonnee.get(r);
    	}
     
    	public String getColumnName(int c) {
    		return "Nom";
    	}
     
    	private ArrayList<String> tableauDonnee = new ArrayList<String>();
     
    }

  6. #6
    Membre chevronné
    Profil pro
    Fabrication GED
    Inscrit en
    Octobre 2005
    Messages
    1 405
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Fabrication GED

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 405
    Points : 1 958
    Points
    1 958
    Par défaut
    après ton person.add(name), essais de raffraichir ta scrollpane :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    table.setModel(model);
    maScrollPane.setViewportView(table);
    n'étant pas hyper calé dans ces composants là, je vais m'arrêter là avant de dire des bêtises.

  7. #7
    Membre du Club
    Inscrit en
    Janvier 2006
    Messages
    107
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 107
    Points : 48
    Points
    48
    Par défaut
    Tu ne dit pas de bétise ca marche très bien merci

Discussions similaires

  1. [JTable] Ajouter une ligne
    Par aitbouhou dans le forum Composants
    Réponses: 1
    Dernier message: 22/07/2008, 16h32
  2. [JTable] Ajouter une ligne dans un table triée
    Par AliJava dans le forum Composants
    Réponses: 12
    Dernier message: 22/12/2007, 15h17
  3. Ajouter une ligne à JTable
    Par ShredLord dans le forum Composants
    Réponses: 1
    Dernier message: 13/11/2007, 22h15
  4. [JTABLE] ajouter une ligne
    Par Dokho1000 dans le forum Composants
    Réponses: 12
    Dernier message: 13/09/2006, 13h52
  5. [JTable] ajouter une ligne
    Par rvfranck dans le forum Composants
    Réponses: 3
    Dernier message: 30/03/2005, 14h25

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