JPanel은 자바 스윙(Swing)에서 사용되는 컨테이너(Container) 클래스로, 그 자체로는 화면에 직접 드러나지 않는 보이지 않는(invisible) 컴포넌트입니다. JPanel의 기본 레이아웃은 FlowLayout이며, 버튼(JButton), 텍스트 필드(JTextField), 라벨(JLabel), 테이블(JTable), 리스트(JList), 트리(JTree) 등 대부분의 컴포넌트를 JPanel 위에 배치할 수 있습니다.
JPanel의 배경색을 변경하려면 setBackground() 메서드를 사용하면 됩니다. 이 메서드에는 Color.RED, Color.GREEN 같은 Color 클래스의 상수나, RGB 값을 지정한 새로운 Color 객체를 인수로 전달할 수 있습니다.
예제 코드
import java.awt.*;
import javax.swing.*;
public class JPanelBackgroundColorTest extends JFrame {
private JPanel panel;
public JPanelBackgroundColorTest() {
setTitle("JPanelBackgroundColor Test");
panel = new JPanel();
panel.add(new JLabel("Welcome to Tutorials Point"));
panel.setBackground(Color.green);
add(panel, BorderLayout.CENTER);
setSize(375, 250);
setLocationRelativeTo(null);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
}
public static void main(String args[]) {
new JPanelBackgroundColorTest();
}
}실행 결과

참고 사항
JPanel은 기본적으로 불투명(opaque) 속성이 활성화되어 있어 setBackground()로 지정한 색상이 바로 적용됩니다. 만약 특정 룩앤필(Look and Feel) 환경에서 배경색이 적용되지 않는다면, panel.setOpaque(true);를 함께 호출해 주면 문제를 해결할 수 있습니다.