Computer >> 컴퓨터 >  >> 프로그래밍 >> Java

자바 Swing JButton에 HTML 텍스트를 적용하는 방법

JButton이란?

JButtonAbstractButton의 하위 클래스로, Java Swing 계층 구조에서 가장 기본적이면서도 중요한 컴포넌트 중 하나입니다. 주로 로그인 화면처럼 사용자 입력이 필요한 애플리케이션에서 널리 사용되며, 버튼을 누르거나 클릭하면 ActionListener 인터페이스를 통해 이벤트를 처리할 수 있습니다.

JButton에는 텍스트, 아이콘, 또는 텍스트와 아이콘을 함께 설정할 수 있습니다. 특히 Swing 컴포넌트는 내부적으로 HTML 렌더링을 지원하기 때문에, 버튼 텍스트를 <html> 태그로 감싸기만 하면 굵게(bold), 기울임(italic), 밑줄, 글자색 변경 등 다양한 스타일을 별도의 커스텀 렌더러 없이 간단히 적용할 수 있다는 점이 큰 장점입니다.

HTML 텍스트 적용 원리

Swing은 버튼의 텍스트 문자열이 <html> 태그로 시작하는 경우 이를 일반 텍스트가 아닌 HTML 문서로 해석하여 렌더링합니다. 따라서 <b>, <i>, <u>, <font>, <br> 같은 기본 HTML 태그를 자유롭게 조합해 사용할 수 있습니다.

예제 코드

아래 예제는 일반 텍스트 버튼과 HTML 태그로 스타일을 적용한 버튼을 나란히 배치하여 차이를 보여줍니다.

import java.awt.*;
import javax.swing.*;

public class JButtonHtmlTextTest extends JFrame {
    private JButton jbutton1, jbutton2;

    public JButtonHtmlTextTest() {
        setTitle("JButtonHtmlText Test");
        // 일반 텍스트 버튼
        jbutton1 = new JButton("Normal Button");
        jbutton1.setHorizontalAlignment(SwingConstants.CENTER);
        add(jbutton1, BorderLayout.WEST);
        // HTML 태그로 굵게 + 기울임 스타일을 적용한 버튼
        jbutton2 = new JButton("<html><b><i>HTML Text Button</i></b></html>");
        jbutton2.setHorizontalAlignment(SwingConstants.CENTER);
        add(jbutton2, BorderLayout.EAST);

        setSize(375, 250);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setLocationRelativeTo(null);
        setVisible(true);
    }

    public static void main(String[] args) {
        new JButtonHtmlTextTest();
    }
}

실행 결과

프로그램을 실행하면 왼쪽에는 평범한 일반 텍스트 버튼이, 오른쪽에는 굵은 기울임꼴로 표시된 HTML 스타일 버튼이 나타납니다. 이처럼 HTML 태그만으로도 버튼의 시각적인 강조 효과를 쉽게 만들 수 있습니다.

자바 Swing JButton에 HTML 텍스트를 적용하는 방법

정리

  • JButton은 AbstractButton을 상속받으며 클릭 이벤트를 ActionListener로 처리한다.
  • 버튼 텍스트를 <html> 태그로 감싸면 Swing이 이를 HTML로 렌더링한다.
  • <b>, <i>, <font> 등의 태그로 굵게, 기울임, 색상 등 다양한 스타일을 적용할 수 있다.