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> .
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> .
Il faut créer ton propre TableModel, lui définir une méthode "addLine()" par exemple, et affecter ce TableModel à ta table.
Oui mais c'est justement la mon problème , je bloque au niveau de la création de la méthode addLine....
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 :
si c'est une liste, il suffit de rajouter une ligne
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
pour t'en dire plus, faudrait que tu nous expliques comment tu gère ton model.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 datas.add(new Object[ligne.length]);
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>(); }
après ton person.add(name), essais de raffraichir ta scrollpane :
n'étant pas hyper calé dans ces composants là, je vais m'arrêter là avant de dire des bêtises.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 table.setModel(model); maScrollPane.setViewportView(table);
Tu ne dit pas de bétise ca marche très bien merci
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager