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

Java Swing에서 JSplitPane 배경색 설정하는 방법

JSplitPaneJComponent 클래스의 하위 클래스로, 두 개의 컴포넌트를 하나의 패인(pane) 안에서 가로 또는 세로 방향으로 나란히 배치할 수 있도록 해주는 Swing 컴포넌트입니다. 또한 사용자가 프로그램 실행 중에 분할선(divider)을 드래그하여 양쪽 컴포넌트의 표시 영역 크기를 자유롭게 조절할 수 있다는 점이 특징입니다.

JSplitPane에서 자주 사용되는 주요 메서드는 remove(), removeAll(), resetToPreferredSizes(), setDividerLocation() 등이 있으며, PropertyChangeListener 인터페이스를 구현하여 분할선 위치 변경과 같은 속성 변화 이벤트도 처리할 수 있습니다.

JSplitPane에 배경색 적용하기

JSplitPane 자체에 직접 배경색을 지정하기보다는, 먼저 두 개의 JPanel에 서로 다른 배경색을 각각 설정한 뒤, 이 패널들을 JSplitPane 생성자의 인수로 전달하는 방식으로 배경색을 효과적으로 표현할 수 있습니다.

예제 코드

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

public class JSplitPaneColorTest extends JFrame {
    private JSplitPane jsp;
    private JPanel panel1, panel2;

    public JSplitPaneColorTest() {
        setTitle("JSplitPane Example");

        // 첫 번째 패널에 밝은 회색 배경색 설정
        panel1 = new JPanel();
        panel1.setBackground(Color.lightGray);

        // 두 번째 패널에 파란색 배경색 설정
        panel2 = new JPanel();
        panel2.setBackground(Color.blue);

        // 두 패널을 가로 분할 방식으로 JSplitPane에 추가
        jsp = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, panel1, panel2);
        jsp.setDividerSize(10);      // 분할선 두께 설정
        jsp.setResizeWeight(0.5);    // 창 크기 변경 시 좌우 균등하게 조절

        add(jsp);
        setDefaultCloseOperation(EXIT_ON_CLOSE);
        setLocationRelativeTo(null);
        setSize(400, 275);
        setVisible(true);
    }

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

실행 결과

위 코드를 실행하면 왼쪽에는 밝은 회색(lightGray), 오른쪽에는 파란색(blue) 배경을 가진 두 개의 패널이 가로 분할선을 기준으로 나뉘어 표시됩니다. 분할선의 두께는 setDividerSize() 메서드로 10픽셀로 지정되었으며, setResizeWeight(0.5) 설정 덕분에 창 크기를 변경해도 좌우 영역이 균형 있게 유지됩니다.

Java Swing에서 JSplitPane 배경색 설정하는 방법