>Java >java지도 시간 >Java 화면에서 JFrame을 정확하게 중앙에 배치하는 방법은 무엇입니까?

Java 화면에서 JFrame을 정확하게 중앙에 배치하는 방법은 무엇입니까?

Patricia Arquette
Patricia Arquette원래의
2024-11-30 06:19:11727검색

How to Accurately Center a JFrame on the Screen in Java?

JFrame 크기 이해 및 정확한 중심 결정

Java에서는 JFrames로 작업할 때 프레임의 전체 크기 간의 차이를 이해하는 것이 중요합니다. 콘텐츠 창 내에서 칠할 수 있는 영역.

JFrame은 여러 구성 요소로 구성됩니다. 프레임, JRootPane 및 JLayeredPane을 포함합니다. 콘텐츠 창은 JLayeredPane 내에 있습니다. 프레임의 크기에는 테두리가 포함되지만 칠할 수 있는 영역에는 포함되지 않는다는 점에 유의하는 것이 중요합니다.

따라서 정확한 중앙을 정확하게 계산하려면 프레임의 전체 크기보다는 콘텐츠 창의 크기를 고려해야 합니다. 콘텐츠 창의 중심점은 조정된 크기를 사용하여 결정할 수 있습니다.

예를 들어 기본 크기가 200x200픽셀인 JFrame을 생성하는 경우 콘텐츠 창의 중심점은 92x81픽셀이 됩니다(가정). 테두리 너비는 8픽셀).

JFrame을 화면 중앙에 배치하려면 setLocationRelativeTo(null)를 사용할 수 있습니다. 방법. 그러나 현재 크기에 관계없이 화면의 정확한 중심을 동적으로 결정하려면 다음 솔루션을 사용할 수 있습니다.

import java.awt.*;

public class ScreenCenter {

    public static Point getScreenCenter(Component component) {
        Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
        Dimension componentSize = component.getSize();

        int x = (screenSize.width - componentSize.width) / 2;
        int y = (screenSize.height - componentSize.height) / 2;

        return new Point(x, y);
    }

    public static void main(String[] args) {
        // Create a JFrame and set its size
        JFrame frame = new JFrame("Frame");
        frame.setSize(400, 300);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        // Center the JFrame on the screen using the getScreenCenter method
        Point centerPoint = getScreenCenter(frame);
        frame.setLocation(centerPoint.x, centerPoint.y);

        // Display the JFrame
        frame.setVisible(true);
    }
}

이 코드는 JFrame의 위치를 ​​자동으로 조정하여 중심을 유지합니다. 현재 화면 크기를 조정하여 일관된 사용자 경험을 보장합니다.

위 내용은 Java 화면에서 JFrame을 정확하게 중앙에 배치하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.