Screen.getPrimary().getVisualBounds().getWidth());
을 사용하여 노트북의 해상도 너비를 인쇄 할 때 나는 1920 년 결과를 얻었습니다. 그러나 해상도 너비를 인쇄 할 경우 Windows에서 해상도를 1680x1050으로 변경하십시오 설정, 스레드가 잠시 기다려달라고 요청하고 동일한 코드를 사용하여 해상도 너비를 다시 인쇄하면 1680 대신 1920이됩니다! 그러나 프로젝트를 중지하고 해상도를 1680x1050으로 설정 한 다음 프로젝트를 컴파일하고 실행하면 1680이 인쇄됩니다. 즉, 프로젝트가 실행되는 동안 프로젝트를 변경하면 해상도가 업데이트되지 않는 것으로 보입니다.JavaFX 8 프로그램 실행 중 화면 해상도가 업데이트되지 않음
아래는 내가 의미하는 바를 설명하기위한 몇 가지 JavaFX 코드입니다. 아래 코드를 실행하면 1920 인쇄본을보고 해상도를 빠르게 변경하고 스레드가 수면을 마칠 때까지 기다린 다음 설명 된대로 새 해상도 너비 대신 1920을 계속 인쇄합니다.
public class Main extends Application {
@Override
public void start(Stage primaryStage) throws Exception {
System.out.println(Screen.getPrimary().getVisualBounds().getWidth());
Thread.sleep(60000);
System.out.println(Screen.getPrimary().getVisualBounds().getWidth());
}
public static void main(String[] args) { launch(args); }
}
JavaFX의 최신 버전에서 사용 해본 적이 있습니까? –
JavaFX 8을 사용하고있는 것으로 밝혀졌습니다 (IntelliJ는 JavaFX 2.0으로 언급합니다). 댓글 주셔서 감사합니다. 그에 따라 내 질문이 업데이트되었습니다. – Max