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

Java에서 JFrame을 화면 중앙에 표시하는 방법

JFrameFrame 클래스의 하위 클래스로, 프레임에 추가되는 컴포넌트들은 해당 프레임의 콘텐츠라고 불리며 contentPane에 의해 관리됩니다. JFrame에 컴포넌트를 추가할 때는 프레임 자체에 직접 추가하는 대신 contentPane을 사용하는 것이 좋습니다. JFrame은 테두리, 제목 표시줄, 버튼이 있는 Window와 유사하며, 대부분의 Java Swing 애플리케이션은 JFrame을 기반으로 구현할 수 있습니다.

기본적으로 JFrame은 화면의 왼쪽 상단에 표시됩니다. 하지만 Window 클래스의 setLocationRelativeTo() 메서드를 사용하면 JFrame을 화면 중앙 위치에 손쉽게 표시할 수 있습니다.

문법

public void setLocationRelativeTo(Component c)

setLocationRelativeTo(null)처럼 인자로 null을 전달하면, 컴포넌트가 화면 전체를 기준으로 중앙에 배치됩니다. 반면 특정 컴포넌트를 인자로 전달하면 해당 컴포넌트를 기준으로 상대적인 위치에 배치됩니다.

예제 코드

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

public class JFrameCenterPositionTest extends JFrame {
    public JFrameCenterPositionTest() {
        setTitle("JFrame Center Position");
        add(new JLabel("JFrame set to center of the screen", SwingConstants.CENTER),
                BorderLayout.CENTER);
        setSize(400, 300);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setLocationRelativeTo(null); // 이 메서드가 JFrame을 화면 중앙에 표시합니다.
        setVisible(true);
    }

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

코드 설명


  • setTitle(): 창의 제목을 설정합니다.
  • setSize(400, 300): 창의 크기를 가로 400픽셀, 세로 300픽셀로 지정합니다.
  • setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE): 창을 닫을 때 애플리케이션이 종료되도록 설정합니다.
  • setLocationRelativeTo(null): JFrame을 화면 정중앙에 배치하는 핵심 메서드입니다.
  • setVisible(true): 창을 실제로 화면에 표시합니다.

이 예제를 실행하면 크기 400×300의 창이 모니터 화면의 정중앙에 나타나는 것을 확인할 수 있습니다. 이 방법은 별도의 좌표 계산 없이 한 줄의 코드로 창을 중앙에 배치할 수 있어 매우 간편하며, 해상도가 다양한 환경에서도 일관된 결과를 보장합니다.