La création d'un Java Modèle de Table qui est initialement vide, mais permet de dynamique, plus de lignes par l'utilisateur
Je fais une demande dont la fonction principale est enchâssée dans un JTable. J'ai besoin de faire un tableau modèle avec une méthode addRow, l'utilisateur saisit les détails dans la fenêtre et en cliquant sur un JButton les données sont placées dans un tableau qui est passé à la addRow() méthode pour plus de la table. Il semble être impossible de faire une table vide toutefois, dans le cas que je fais un tableau à deux dimensions pour les lignes avec 10 lignes, lors du rendu de la table les drapeaux de compilation d'un NullPointerException sein de la JTable.prepareRenderer " la méthode.
J'espère que ce que j'ai besoin de le faire a été fait clair!
Lire la Javadoc de la
TableModel
de l'interface; vous pouvez écrire votre propre mise en œuvre. Et n'oubliez pas de feu les événements appropriés lorsque des lignes sont ajoutées/supprimées/modifiées.pourquoi réinventer la roue? Le DefaultTableModel fait ce que vous voulez sans aucun code personnalisé.
OriginalL'auteur oli.burgess | 2011-03-15
Vous devez vous connecter pour publier un commentaire.
Voici un exemple de code pour vous. Vous pouvez facilement le modifier en fonction de vos besoins.
Je pense qu'il y a un problème avec l'ajout d'une nouvelle ligne:
tableModel.addRow(new Object[]{txtField1.getText(),txtField1.getText()});
. Le même champ de texte est utilisé deux fois.OriginalL'auteur Gursel Koca
Une table avec 10 lignes n'est pas une table vide. C'est un tableau avec 10 rangées de valeurs null. Assurez-vous que vos lignes ont le bon nombre de colonnes. Suivez la trace de la pile et de trouver la source de la NullPointer, si c'est dans un CustomerRenderer alors assurez-vous que vous êtes la manipulation des valeurs null correctement.
Pas sûr de ce que les données que vous avez inclus dans votre table, mais peut-être que votre 10 lignes doivent être en défaut avec les Cordes à vide au lieu de la valeur null.
désolé, je voulais vous dire merci pour votre réponse!
vous pouvez créer votre modèle de table qui dispose d'une quantité de lignes ou sans lignes. Si vous utilisez une Table par Défaut du Modèle, vous pouvez passer un tableau vide pour les données.
OriginalL'auteur jzd