J'ai un formulaire JFrame
qui a JTextField
s, JCombobox
etc. et je peux recevoir ces valeurs dans des variables et maintenant je veux ajouter les données reçues à JTable
dans une nouvelle ligne lorsque l'utilisateur clique sur Ajouter ou quelque chose comme ça.
J'ai créé JTable
à l'aide de net-beans, le problème est quel serait le code pour ajouter des données de ces variables aux lignes de la table. Un exemple de base serait apprécié. J'ai essayé de nombreux exemples et j'ai ajouté le code à ActionListener
du JButton
mais rien ne se passe. Les exemples que j'ai essayés le sont. Comment ajouter une ligne dans JTable? et Comment ajouter des lignes à JTable avec la méthode AbstractTableModel?
Toute aide serait appréciée.
Tutoriel boiteux de Peeskillet pour travailler avec JTables dans Netbeans GUI Builder
Ajoutez un bouton au cadre quelque part. Ce bouton sera cliqué lorsque l'utilisateur sera prêt à envoyer une ligne
Events -> Action -> actionPerformed
Vous devriez voir du code semblable au code généré automatiquement suivant
private void jButton1ActionPerformed(Java.awt.event.ActionEvent) {}
Le jTable1
aura un DefaultTableModel
. Vous pouvez ajouter des lignes au modèle avec vos données
private void jButton1ActionPerformed(Java.awt.event.ActionEvent) {
String data1 = something1.getSomething();
String data2 = something2.getSomething();
String data3 = something3.getSomething();
String data4 = something4.getSomething();
Object[] row = { data1, data2, data3, data4 };
DefaultTableModel model = (DefaultTableModel) jTable1.getModel();
model.addRow(row);
// clear the entries.
}
Ainsi, pour chaque ensemble de données, comme un couple de champs de texte, une zone de liste déroulante et une case à cocher, vous pouvez collecter ces données chaque fois que vous appuyez sur le bouton et les ajouter sous forme de ligne au modèle.
vous pouvez utiliser ce code comme modèle, veuillez le personnaliser selon vos besoins.
DefaultTableModel model = new DefaultTableModel();
List<String> list = new ArrayList<String>();
list.add(textField.getText());
list.add(comboBox.getSelectedItem());
model.addRow(list.toArray());
table.setModel(model);
ici DefaultTableModel
est utilisé pour ajouter des lignes dans JTable
, vous pouvez obtenir plus d'informations ici .
String[] tblHead={"Item Name","Price","Qty","Discount"};
DefaultTableModel dtm=new DefaultTableModel(tblHead,0);
JTable tbl=new JTable(dtm);
String[] item={"A","B","C","D"};
dtm.addRow(item);
Ici, c'est la solution.