Java Swing에서 JLabel은 기본적으로 한 줄의 텍스트만 표시하지만, HTML 태그를 활용하면 손쉽게 여러 줄의 텍스트를 담을 수 있습니다. JLabel 생성자에 <html> 태그로 감싼 문자열을 전달하고, 줄바꿈이 필요한 위치에 <br> 태그를 삽입하면 됩니다.
기본 문법
여러 줄의 텍스트를 표시하려면 다음과 같이 JLabel 내부에 HTML을 설정합니다.
JLabel label = new JLabel("<html><strong>" + "Line1<br>Line2</strong></html>", JLabel.LEFT);
위 코드는 JLabel 안에 아래와 같이 두 줄의 텍스트를 생성합니다.
Line1 Line2
전체 예제 코드
다음은 HTML을 사용하여 여러 줄의 텍스트를 표시하는 JLabel을 만드는 완전한 예제입니다.
import java.awt.Font;
import javax.swing.*;
public class SwingDemo {
public static void main(String args[]) {
JFrame frame = new JFrame("Label Example");
JLabel label;
label = new JLabel("<html><strong>" + "Line1<br>Line2</strong></html>", JLabel.LEFT);
label.setBounds(100, 100, 100, 30);
label.setFont(new Font("Verdana", Font.PLAIN, 13));
frame.add(label);
frame.setSize(500, 300);
frame.setLayout(null);
frame.setVisible(true);
}
}
코드 설명
- <html> 태그: 문자열이 HTML로 해석되도록 지정하며, 이 태그가 있어야
<br>,<strong>등의 태그가 정상적으로 동작합니다. - <br> 태그: 텍스트의 줄바꿈 위치를 지정합니다.
- <strong> 태그: 텍스트를 굵게(bold) 표시합니다.
- JLabel.LEFT: 레이블 내 텍스트를 왼쪽으로 정렬합니다.
실행 결과
위 프로그램을 실행하면 두 줄로 구성된 굵은 텍스트가 화면에 표시됩니다.

이처럼 JLabel에 HTML을 적용하면 줄바꿈뿐 아니라 글자 색상, 폰트 스타일, 크기 변경 등 다양한 서식도 간단하게 적용할 수 있어 Swing UI 개발 시 매우 유용합니다.