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

Java JList에서 HTML 태그로 다양한 글꼴 스타일 항목 추가하는 방법

JListJComponent 클래스를 상속받은 스윙(Swing) 컴포넌트로, 사용자가 하나 이상의 항목을 선택할 수 있도록 객체 목록을 화면에 표시하는 데 사용됩니다. JList는 ListSelectionListener 인터페이스를 통해 항목 선택 변경 이벤트를 처리할 수 있으며, 이 인터페이스를 구현할 때는 추상 메서드인 valueChanged()를 반드시 작성해야 합니다.


또한 DefaultListModel 클래스는 리스트 모델의 간단한 구현체를 제공하여, JList 컨트롤에 표시되는 항목들을 손쉽게 관리할 수 있게 해줍니다. addElement() 메서드를 호출하면 JList에 새로운 항목을 동적으로 추가할 수 있습니다.


HTML 태그로 글꼴 스타일 지정하기


JList의 각 항목에 서로 다른 글꼴 스타일을 적용하려면 HTML 태그를 활용하면 됩니다. 항목 문자열을 <html> 태그로 감싸고, 그 안에 원하는 스타일 태그를 넣기만 하면 됩니다.


  • <b> : 텍스트를 굵게(bold) 표시
  • <i> : 텍스트를 기울임(italic)체로 표시
  • <u> : 텍스트에 밑줄(underline) 표시

예제 코드


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

public class JLabelListTest {
    public static void main(String[] args) {
        SwingUtilities.invokeLater(new Runnable() {
            @Override
            public void run() {
                new JLabelListTest().makeUI();
            }
        });
    }

    public void makeUI() {
        String[] data = {"<html>Raja</html>", "<html><b>Adithya</b></html>", "<html><i>Jaidev</i></html>", "<html><u>Chaitanya</u></html>"};
        JList list = new JList(data);
        list.setBackground(Color.lightGray);
        JFrame frame = new JFrame();
        frame.getContentPane().add(new JScrollPane(list), BorderLayout.NORTH);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setSize(400, 300);
        frame.setLocationRelativeTo(null);
        frame.setVisible(true);
    }
}

실행 결과


위 코드를 실행하면 목록의 네 개 항목이 각각 일반체(Raja), 굵은체(Adithya), 기울임체(Jaidev), 밑줄(Chaitanya) 스타일로 표시되는 것을 확인할 수 있습니다.


Java JList에서 HTML 태그로 다양한 글꼴 스타일 항목 추가하는 방법


참고: ListCellRenderer 활용


HTML 태그 방식보다 더 세밀한 제어가 필요하다면 ListCellRenderer 인터페이스를 구현한 사용자 정의 렌더러를 사용할 수 있습니다. 이 방식을 활용하면 글꼴뿐만 아니라 색상, 아이콘, 항목별 레이아웃까지 자유롭게 조정할 수 있습니다.