2010-12-04 8 views
0

J'utilise l'IDE netbeans qui vient avec un outil de création d'interface graphique très pratique mais qui a rencontré des problèmes.Insérer des données dans un JTable?

L'application que je crée d'abord interroge une source de données et reçoit ces données sous la forme d'un tableau de chaînes. Comment pourrais-je insérer ces données dans le jtable que j'ai placé dans ma fenêtre en utilisant le créateur de l'interface graphique.

Je ne suis pas un newbie java complet donc je connais le code derrière cette interface graphique et j'ai déjà fait de la programmation swing.

Par exemple, disons que j'ai deux tableaux de chaînes:

String[] tableA_01 = {"Column01","Column02","Column03","Column04"}; 
String[] tableA_02 = {"Data01","Data02","Data03","Data04"}; 

Comment puis-je insérer les premières valeurs de tableaux dans la première colonne, puis les secondes valeurs de tableaux dans une deuxième colonne, je ne l'ai pas utilisé le composant JTable en swing avant donc je ne sais pas vraiment.

Toute aide serait appréciée,

Répondre

0

Les données ne va pas directement dans le JTable; à la place, il va dans le TableModel. Vous pouvez utiliser un DefaultTableModel ou vous pouvez créer votre propre implémentation.

Il est assez facile de sous-classer AbstractTableModel si DefaultTableModel ne fait pas ce que vous voulez.

0

Si vous avez déjà effectué une programmation Swing, vous devez savoir que les composants de l'interface graphique sont protégés par des classes de modèle distinctes. Pour les composants simples comme les champs de texte, vous pouvez vous en passer sans trop les traiter, mais pour une table, vous devez gérer le TableModel. Vous pouvez utiliser DefaultTableModel directement - il a même un constructeur qui prend un tableau à deux dimensions.

0

Eh bien, je doute que vous les utiliseriez comme données pour les colonnes. Au lieu de cela, il semble que le premier tableau sera des valeurs "en-tête" pour 4 colonnes et que le second tableau sera des valeurs "données" pour ces 4 colonnes.

Votre code serait quelque chose comme:

DefaultTableModel model = new DefaultTableModel(tablea_01, tableA_02); 
JTable table = new JTable(model); 

Lire l'API JTable et suivez le lien vers le tutoriel Swing sur « Comment utiliser les tables » pour plus d'informations et des exemples de travail.

2

Vous faites tout faux mate, dans defaultTableModel de Jtable vous pouvez ajouter des données très facilement. par exemple

DefaultTableModel table = (DefaultTableModel) <some JTable>.getModle(); 
table.addRow{"<column1 value>","<column2 value>"};// maybe even more columns 

donc de vos deux tableaux iE

String[] tableA_01 = {"Column01","Column02","Column03","Column04"}; 
String[] tableA_02 = {"Data01","Data02","Data03","Data04"}; 

faire des tableaux comme

String[] row1 = {"Column01","Data01"}; 
String[] row2 = {"Column02","Data02"}; 
String[] row3 = {"Column03","Data03"}; 
String[] row4 = {"Column04","Data04"}; 

semble fastidieux, mais vous pouvez mettre cela dans une boucle et mise à jour en utilisant

table.addRow(row1); 
Questions connexes