Search code examples
javastringswingmultilinejlabel

Java swing: Multiline labels?


Possible Duplicate:
Multiline text in JLabel

I want to do this:

JLabel myLabel = new JLabel();
myLabel.setText("This is\na multi-line string");

Currently this results in a label that displays

This isa multi-line string

I want it to do this instead:

This is
a multi-line string

Any suggestions?

Thank you


EDIT: Implemented solution

In body of method:

myLabel.setText(convertToMultiline("This is\na multi-line string"));

Helper method:

public static String convertToMultiline(String orig)
{
    return "<html>" + orig.replaceAll("\n", "<br>");
}

Solution

  • You can use HTML in JLabels. To use it, your text has to start with <html>.

    Set your text to "<html>This is<br>a multi-line string" and it should work.

    See Swing Tutorial: JLabel and Multiline label (HTML) for more information.