Java로 작업하는 동안 응용 프로그램을 시작할 때 기본 창을 화면 중앙에 배치하기가 어렵습니다.
내가 할 수있는 방법이 있습니까? 그것은 수직 중심 일 필요는 없으며, 수평 정렬이 저에게 더 중요한 목표입니다. 그러나 수직 정렬도 환영합니다.
Java로 작업하는 동안 응용 프로그램을 시작할 때 기본 창을 화면 중앙에 배치하기가 어렵습니다.
내가 할 수있는 방법이 있습니까? 그것은 수직 중심 일 필요는 없으며, 수평 정렬이 저에게 더 중요한 목표입니다. 그러나 수직 정렬도 환영합니다.
답변:
나는 항상 이런 식으로했다 :
Dimension dim = Toolkit.getDefaultToolkit().getScreenSize();
this.setLocation(dim.width/2-this.getSize().width/2, dim.height/2-this.getSize().height/2);
this
JFrame은 어디에 관련되어 있습니까 ?
setLocationRelativeTo(null)
하면 다중 모니터 설정에서도 기본 모니터의 중앙에 배치됩니다.
사용하다 setLocationRelativeTo(null)
이 메소드는 a를 전달할 때 특별한 효과가 있습니다 null
. Javadoc에 따르면 :
구성 요소가 null이거나이 구성 요소와 관련된 GraphicsConfiguration이 null 인 경우 창은 화면 중앙에 배치됩니다.
크기를 설정하거나을 호출 한 후 다음 pack()
과 같이 표시하도록 설정하기 전에 수행해야합니다 .
frame.pack();
frame.setLocationRelativeTo(null);
frame.setVisible(true);
setLocationRelativeTo
pack () 메소드 호출 후에 사용해야 함
.setSize()
.
JFrame.setLocationRelativeTo(null)
창 중앙에 전화 를 걸 수 있습니다 . 이것을 전에 넣어야합니다JFrame.setVisible(true)
setLocationRelativeTo
팩 () 메서드 호출 후 사용해야합니다
명시 적 setPreferredSize(new Dimension(X, Y));
으로 사용하면 다음을 사용하는 것이 좋습니다.
setLocation(dim.width/2-this.getPreferredSize().width/2, dim.height/2-this.getPreferredSize().height/2);