Frage

Wie kann ich den Text einer JLabel auf eine andere Linie verlängern?

War es hilfreich?

Lösung

Sie können es tun, indem Sie HTML im Code setzen, so:

JFrame frame = new JFrame();
frame.setLayout(new GridLayout());
JLabel label = new JLabel("<html>First line<br>Second line</html>");
frame.add(label);
frame.pack();
frame.setVisible(true);

Andere Tipps

Wenn Sie möchten, dass Ihr JLabel Text automatisch in einem dehnbaren zum Beispiel, um die Größe GridBagLayout seine genug, nur den Text setzen in HTML-Tags wie folgt:

JLabel label = new JLabel("<html>First line and maybe second line</html>");

Geben Sie den Inhalt (das heißt, die Eigenschaft "Text" Feld) in einem <html></html>-Tag. So können Sie <br> or<P> verwenden eine neue Zeile einzufügen.

Zum Beispiel:

String labelContent = "<html>Twinkle, twinkle, little star,<BR>How I wonder what you are.<BR>Up above the world so high,<BR>Like a diamond in the sky.</html>";

Es wird angezeigt, wie folgt:

Twinkle, twinkle, little star,
Wie frage ich mich, was du bist.
Bis über die Welt so hoch,
Wie ein Diamant im Himmel.

Sie können auch eine JXLabel von < a href = "https://swingx.java.net/" rel = "nofollow"> die SwingX Bibliothek .

JXLabel multiline = new JXLabel("this is a \nMultiline Text");
multiline.setLineWrap(true);

Ich habe JTextArea für mehrzeilige JLabels verwendet.

JTextArea textarea = new JTextArea ("1\n2\n3\n"+"4\n");

http://docs.oracle.com/ JavaSE / 7 / docs / api / javax / Swing / JTextArea.html

In meinem Fall war es genug, um den Text in jeder \n aufzuspalten und erstellen Sie dann eine JLabel für jede Zeile:

JPanel panel = new JPanel(new GridLayout(0,1));
String[] lines = message.split("\n");
for (String line : lines) {
    JLabel label = new JLabel(line);
    panel.add(label);
}

Früher habe ich oben in einem JOptionPane.showMessageDialog

Es ist möglich, href="https://stackoverflow.com/questions/5766175/word-wrap-in-jbuttons/5767825#5767825"> Verwendung (basic) CSS im HTML


Diese Frage verknüpft wurde von mehrzeilige JLabels -. Java

String labelText ="<html>Name :"+name+"<br>Surname :"+surname+"<br>Gender :"+gender+"</html>";
JLabel label=new JLabel(labelText);
label.setVisible(true);
label.setBounds(10, 10,300, 100);
dialog.add(label);

, warum Sie komplexe Dinge geben ... Sie können es einfach tun, indem sie „\ n“ anstelle von HTML-Tags

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top