Java를 사용하여 컴퓨터 화면 중앙에 메인 애플리케이션 JFrame을 중심으로 배치하는 코드를 작성하려고합니다. 이렇게하려면 아래 코드를 사용합니다.이 과정은 두 부분으로 나뉘며, 이는 ScreenHeight 및 ScreenWidth를 클래스의 다른 위치에서 크기 조정 용도로 사용하기 때문에 클래스의 속성입니다.디스플레이 JFrame 듀얼 스크린을 사용할 때 메인 모니터 중앙에 놓임
이 코드는 내 랩톱 및 기타 단일 화면 시스템에서 완벽하게 작동하지만 듀얼 모니터 인 주 컴퓨터에서 대화 상자의 절반을 차지하는 작업 공간의 중앙에 화면을 배치합니다 (작을 수 있음).)를 각 화면에 표시합니다. 메소드에 있으므로 대화 상자의 크기가 프로그램에 의해 변경 될 때마다 호출 할 수 있습니다.
부울 너비 값을 사용하여 화면을 세로 축의 같은 위치에 유지하면서 수평으로 가운데 놓습니다.
// Finds the size of the screen
private void find_ScreenSize() {
Toolkit toolkit = Toolkit.getDefaultToolkit();
Dimension dim = toolkit.getScreenSize();
ScreenHeight = dim.height;
ScreenWidth = dim.width;
}
// Centres the dialogue box within the screen
private void centre_Frame(JFrame Frame, boolean Width) {
find_ScreenSize();
if (!Width) { // if you are not justifying on the X axis
Frame.setLocation(Frame.getLocationOnScreen().x,
((ScreenWidth/2) - (Frame.getWidth()/2)));
} else {
Frame.setLocation(((ScreenWidth/2) - (Frame.getWidth()/2)),
((ScreenHeight/2) - (Frame.getHeight()/2)));
}
}
모든 멀티 스크린 컴퓨터에서 주/첫 번째 화면 가운데에 대화 상자를 가운데에 배치하고 싶습니다. 내 응용 프로그램의 대화 상자는 위치를 제어하지 않고 JOptionPane과 파일 열기 및 저장 대화 상자와 같은 모든 작업을 완벽하게 처리합니다.
Linux에서 개발 중이지만 Linux 및 MS 플랫폼에서 사용할 수 있습니다.
이 문제를 검색하면 위의 예가 많이 나오지만 원하는 것을 수행하는 방법을 알려주는 것이 아무것도 없으므로 도움을 얻을 수 있습니다.
미리 도움을 청하십시오.
감사를 참조하십시오. 나중에 특정 화면에 가운데 놓기 위해 제안한 다른 요소를 사용하여 살펴볼 수 있습니다. – user1408605