모니터 해상도에 관계없이 JFrame이 중앙에 표시되도록 설정하려면 어떻게 해야 합니까?
자바에서 작업할 때 어플리케이션을 시작할 때 화면 중앙에 메인 창을 배치하기가 어렵습니다.
제가 할 수 있는 방법이 있을까요?세로 중심이 아니라 가로 정렬이 더 중요한 목표입니다.하지만 수직 정렬도 환영입니다.
사용
이 방법은 전달했을 때 특별한 효과가 있습니다.null
자바독에 따르면:
컴포넌트가 null인 경우 또는 이 컴포넌트와 관련된 Graphics Configuration이 null인 경우 화면 중앙에 창이 표시됩니다.
이 작업은 크기를 설정하거나 호출한 후에 수행해야 합니다.pack()
표시되도록 설정하기 전에 다음과 같이 합니다.
frame.pack();
frame.setLocationRelativeTo(null);
frame.setVisible(true);
저는 항상 이런 식으로 해왔습니다.
Dimension dim = Toolkit.getDefaultToolkit().getScreenSize();
this.setLocation(dim.width/2-this.getSize().width/2, dim.height/2-this.getSize().height/2);
어디에this
JFrame이 관련되어 있습니다.
창 중앙으로 전화를 걸 수 있습니다.이거 꼭 붙여주세요.JFrame.setVisible(true)
폼을 클릭하여 JFrame 속성으로 이동한 후 Code 탭을 클릭하여 확인합니다.Generate Center
.
이렇게 간단하게...
setSize(220, 400);
setLocationRelativeTo(null);
프레임을 사용하고 있는 경우는, 프레임을
frame.setSize(220, 400);
frame.setLocationRelativeTo(null);
자세한 내용은 다음 문서를 참조하십시오.
컴포넌트가 null인 경우 또는 이 컴포넌트와 관련된 Graphics Configuration이 null인 경우 화면 중앙에 창이 표시됩니다.
개발자 환경으로서 NetBeans IDE 7.2.1을 사용하고 있습니다.JForm 속성을 설정할 수 있는 옵션이 있습니다.
JForm Properties에서 'Code' 탭으로 이동하여 'Generate Center'를 구성합니다.먼저 양식 크기 정책을 '크기 조정 코드 생성'으로 설정해야 합니다.
NetBeans IDE 7.3을 사용하고 있습니다.이렇게 하면 JFrame을 집중 관리할 수 있습니다.JFrame 패널을 클릭하여 JFrame 속성 표시줄로 이동한 후 코드 표시줄을 클릭하고 센터 생성 확인란을 선택합니다.
NetBeans 를 사용하는 경우는, 디자인 뷰의 프레임을 클릭해, 그 속성의 코드 탭을 클릭하기만 하면 됩니다.다음으로 '중심 생성'을 확인합니다.그렇게 하면 그 일을 끝낼 수 있을 것이다.
명시적으로setPreferredSize(new Dimension(X, Y));
다음 항목을 사용하는 것이 좋습니다.
setLocation(dim.width/2-this.getPreferredSize().width/2, dim.height/2-this.getPreferredSize().height/2);
이 방법을 사용하면 JFrame을 중앙에 배치하고 전체 화면을 동시에 표시할 수 있습니다.
yourframe.setExtendedState(JFrame.MAXIMIZED_BOTH);
Net Beans GUI에서 jframe 속성(Navigator에서 jFrame 오른쪽 클릭)으로 이동하여 코드, 폼 크기 정책 속성에서 크기 조정 코드 생성을 선택합니다.같은 창에서 Generate Position(위치 생성)을 해제하고 Generate Size(크기 생성) 및 Center(중앙)를 선택합니다.
프로그래밍을 즐겨라.라마나
언급URL : https://stackoverflow.com/questions/2442599/how-to-set-jframe-to-appear-centered-regardless-of-monitor-resolution
'programing' 카테고리의 다른 글
실행 시간이 0인 루프 (0) | 2022.08.12 |
---|---|
jQuery onChange에서 Vue를 사용하여 데이터 값 업데이트 (0) | 2022.08.12 |
예기치 않은 토큰: UglifyJs의 연산자(>) (0) | 2022.08.12 |
*-devel 패키지가 뭐죠? (0) | 2022.08.12 |
Vuejs 2: 워치옵션으로 동작하지 않음 (0) | 2022.08.12 |