2010-03-30 5 views
0

Je travaille sur une application Java assez simple afin d'en apprendre plus sur les JTables, les TableModels et les moteurs de rendu personnalisés. La table est une table simple avec 8 colonnes seulement avec le texte dedans. Lorsque vous cliquez sur un bouton "Ajouter", une boîte de dialogue apparaît et vous permet d'entrer les données pour les colonnes.JTable.setRowHeight m'empêche d'ajouter plus de lignes

Maintenant à mon problème. Une des colonnes (la dernière) devrait permettre plusieurs lignes de texte. Je suis déjà en train de mettre du HTML sur le terrain, mais ce n'est pas un emballage. J'ai fait quelques recherches et j'ai regardé JTable # setRowHeight(). Cependant, une fois que j'utilise setRowHeight, je ne peux plus ajouter de lignes à la table. Les données sont placées dans le modèle de table, mais elles n'apparaissent pas dans le tableau. Si je supprime la ligne setRowHeight, alors il ajoute des données très bien.

Y at-il une autre étape pour ajouter des données à mon modèle de données qui me manque?

Merci beaucoup!

+2

Votre table est-elle installée dans un JScrollPane? –

Répondre

1

Vous devez remplacer l'éditeur de cellules. L'éditeur de cellule par défaut est un JTextField, je ne crois pas que cela permette l'habillage de texte. Un JTextArea ou un composant similaire vous permettrait de le faire. En ce qui concerne setRowHeight() vous interdisant d'ajouter de nouvelles lignes, je n'ai jamais entendu cela auparavant. Pouvez-vous fournir plus de détails? ou à tout le moins le code que vous avez utilisé? Je ne suis pas capable de reproduire les résultats car je suis capable de continuer à ajouter de nouvelles lignes malgré l'utilisation de setRowHeight().

+1

Merci pour votre réponse. Je l'ai compris. J'avais besoin d'utiliser fireTableDataChanged() quand j'ajoute une nouvelle ligne. Merci encore pour la réponse! –