Comment définir jTextArea pour avoir la hauteur qui correspond à la taille d'un texte qu'il contient (pour éviter les barres de défilement)
Ce problème semble trivial, mais je ne trouve pas la solution.
Quand j'ai créer un formulaire, il contient un JTextArea
. Je veux mettre des grandes constantes de texte. Si le texte est à dire 1000 lignes de long, je veux que mon JTextArea
à 1000 lignes de haut (pour être suffisamment grande pour afficher la totalité du texte sans les barres de défilement). JTextArea
est à l'intérieur d'un panneau qui peut avoir de barre de défilement de sorte qu'il n'est pas un problème quand il devient trop grand (il y a deux JTextArea
dans le panneau.. quelque chose comme un outil de comparaison). Quelqu'un sait comment puis-je y parvenir? Merci.
Eh bien, j'ai essayé de trouver une option dans NetBeans pour le mettre en augmenter automatiquement, et j'ai essayé de trouver une méthode par programmation à l'ensemble de ce problème, mais sans succès (setSize méthodes ne changent pas la taille..)
OriginalL'auteur celicni | 2010-06-20
Vous devez vous connecter pour publier un commentaire.
La
BorderLayout
va gérer la barre de défilement de la boîte si vous mettez simplement votreJTextArea
dans unJScrollPane
avant de l'ajouter à votreJPanel
.FlowLayout
, d'autre part, ne fonctionne pas. Il n'affiche pas la barre de défilement à moins que, comme @Xorty lingerie, vous appelezsetPreferedSize()
sur votreJScrollPane
et de lui donner la dimension que vous souhaitez.OriginalL'auteur akf
Vous pouvez également utiliser quelque chose comme ceci (limitée en largeur, de la hauteur en fonction du texte, utile lors de l'affichage des messages d'infos):
OriginalL'auteur Taisin
Pour augmenter ou diminuer la hauteur de JTextArea. Lorsqu'un texte est entré, appel à getPreferredSize() de JTextArea - il va vous donner la taille nécessaire à l'affichage de l'ensemble du texte.
Après que l'utilisation setPrefferedSize() de JScrollPane pour définir la taille de JTextArea
OriginalL'auteur sushant goel
Bien, tout d'abord : c'est JTextArea pas jTextArea.
Maintenant - mis JTextArea en JScrollPane. Lorsqu'un texte est entré, appel à
getPreferedSize()
de JScrollPane - il vais vous donner la taille exacte nécessaire pour afficher tout le texte. Aussi, je n'ai jamais utiliser d'autres LayoutManager que "Design Libre" de NetBeans Swing builder - je ne suis pas sûr de savoir comment les autres LayoutManagers va se comporter.OriginalL'auteur Xorty