JLabel - Afficher plus de texte de plusieurs lignes?
Donc dire que j'ai une très longue ligne que je veux afficher dans un JLabel
. Comment puis-je le faire?
Actuellement, plus de lignes comme ceci:
J'ai pour redimensionner la fenêtre pour voir le texte complet.
Comment puis-je faire en sorte qu'il y a des retours à la ligne (lorsque le texte est presque atteint la largeur de mon JFrame
?
Je ne sais pas si le code est ici nécessaire pour vous de répondre à cette question, mais encore:
mon propriétés du cadre:
frame = new JFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(new Dimension(450, 400));
frame.setLocation(new Point(400, 300));
frame.setLayout(new BorderLayout());
L'étiquette je veux modifier:
question = new JLabel("Question:");
question.setFont(new Font("Serif", Font.BOLD, 15));
question.setHorizontalAlignment(JLabel.CENTER);
EDIT:
Plus de détails:
Je suis la lecture des lignes à partir d'un fichier et ensuite de les afficher. La taille des lignes n'est pas fixe, et donc je ne sais pas où mettre <br>
.
EDIT 2:
J'ai fini par utiliser JTextArea
.
private JTextArea textAreaProperties(JTextArea textArea) {
textArea.setEditable(false);
textArea.setCursor(null);
textArea.setOpaque(false);
textArea.setFocusable(false);
textArea.setLineWrap(true);
textArea.setWrapStyleWord(true);
return textArea;
}
OriginalL'auteur user2027425 | 2013-02-06
Vous devez vous connecter pour publier un commentaire.
Juste un autre exemple, en montrant que, avec le bon gestionnaire de mise en page, texte enveloppé dans
HTML
les balises automatiquement automatiquement à l'espace disponible...C'est beaucoup trop de travail pour ce dont j'ai besoin. J'ai fini par utiliser
JTextArea
. Voir mon montage à l'OP.En ajoutant "<html>" au début et "</html>" à la fin de
String
est beaucoup de travail?? Wow, vous allez être déçu 😛Le problème que je vois avec ce type de solution est que lorsque extraites dynamiquement de texte qui contient déjà des balises html, par exemple pour le balisage, n'affiche pas du tout (pas de texte) que le <html> et </html> balises sont plus de deux fois. C'est vraiment dommage qu'un JLabel ne prend pas en charge multiligne hors de la boîte.
Dans ce cas, vous n'avez pas besoin de configurer vous-même. Si vous pensez que vous "pourrait" obtenir un code html ladden
String
vous pouvez aussi vérifier (String#startsWith
)...OriginalL'auteur MadProgrammer
L'utilisation de code HTML pour afficher le texte à l'intérieur de l'Étiquette.
(Taskmaster suggéré par exemple ajouté)
<br>
est à où il est bro.Juste envelopper le texte dans le HTML devrait permettre à la ligne habillage fonctionnalité dans le cadre du droit de mise en page manager...MAIS, <br> n'est-ce pas te faire de mal 😉
La chose à propos de
<br>
est que je lis beaucoup de contenu, et je ne sais pas où balise doit être au.Si vous n'êtes pas sûr, puis de mieux prendre un coup d'oeil à la réponse donnée par madProgrammer.
OriginalL'auteur arcy
Format HTML. Fonctionne très bien.
La première chose qui vient à l'esprit quand quelqu'un dit le mot "Question" lol
OriginalL'auteur
Quelque chose comme ça. La réponse donner par rcook est très correcte. Juste son exemple pour montrer comment cela peut être fait.
OriginalL'auteur Smit