JLabel이란?
- JLabel 클래스는 JComponent 클래스를 상속하며, JLabel 객체는 GUI 화면에 텍스트 안내나 정보를 표시하는 역할을 합니다.
- JLabel은 한 줄의 읽기 전용 텍스트, 이미지, 또는 텍스트와 이미지를 함께 표시할 수 있습니다.
- JLabel은 <font size='글자 크기' color='텍스트 색상'> 표시할 텍스트 </font> 태그를 HTML 태그 내부에 사용하면, 서로 다른 색상과 글꼴이 적용된 한 줄의 텍스트도 표시할 수 있습니다.
- JLabel은 PropertyChangeListener 인터페이스를 명시적으로 등록하여 속성 변화 이벤트를 처리할 수도 있습니다.
예제 코드
아래 예제는 하나의 JLabel에 서로 다른 크기와 색상의 텍스트를 함께 출력하는 방법을 보여줍니다.
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class MultiColorLabelTest extends JFrame {
public MultiColorLabelTest() {
setTitle("MultiColorLabel Test");
setLayout(new FlowLayout());
// 서로 다른 글꼴 크기와 여러 색상이 적용된 라벨
JLabel label = new JLabel("<html><font size='5' color=blue> Welcome to</font> <font size='6'color=green> Tutorials Point</font></html>");
add(label);
setSize(375, 250);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLocationRelativeTo(null);
setVisible(true);
}
public static void main(String[] args) {
new MultiColorLabelTest();
}
}
위 코드에서 주목할 점은 JLabel 생성자에 전달되는 문자열이 <html> 태그로 감싸져 있다는 것입니다. Swing 컴포넌트는 기본적으로 HTML 형식의 텍스트를 지원하기 때문에, HTML 태그를 활용하면 복잡한 커스텀 렌더러를 작성하지 않고도 간단하게 다양한 스타일을 적용할 수 있습니다.
실행 결과

프로그램을 실행하면 "Welcome to"라는 문구는 파란색 5크기로, "Tutorials Point"라는 문구는 초록색 6크기로 각각 다르게 표시됩니다. 이처럼 HTML의 <font> 태그를 조합하면 하나의 JLabel 안에서도 색상과 글꼴 크기를 자유롭게 섞어 사용할 수 있습니다.