하나의 JDesktopPane과 몇 개의 JInternalFrame이있는 Java 응용 프로그램이 있습니다. 시작시 JInternalFrame 중 하나를로드하려고합니다.시작시 JDesktopPane에서 JInternalFrame을 여는 방법
JDesktopPane의 청취자에서 JInternalFrame을 열려고 시도했지만, JDesktopPane이 오른쪽 상단에 위치하여 그 중 절반이 보이지 않으면 JDesktopPane이 최대화 (또는 일부 크기 조정)되기 때문에로드됩니다. 이 문제를 어떻게 해결할 수 있습니까?
편집 : 디버그하려고 할 때
MainWindow mainWindow = new MainWindow(); //MainWindow is a JFrame
mainWindow.setVisible(true);
//code to load JInternalFrame here
이 코드는 작동합니다. 하지만 응용 프로그램을 실행할 때 MainWindow는 JInternalFrame을로드하는 코드가 실행 된 후에 만 최대화됩니다. 나는 약간의 지연을 추가하거나 창이 최대화 될 때까지 기다릴 수 있다고 생각합니다!
편집 2 : Thread.sleep
이 추가되었습니다. 지금은 잘
MainWindow mainWindow = new MainWindow(); //MainWindow is a JFrame
mainWindow.setVisible(true);
Thread.sleep(1000)
//code to load JInternalFrame here
MainWindow를 생성자가에 setExtendedState(java.awt.Frame.MAXIMIZED_BOTH);
했다 작동합니다. 그것은 어떻게 든 실행 시간을 필요로합니다. 이유를 알아낼 수 없었습니다. 그래도 괜찮아!
[mcve]를 포함하도록 질문을 편집하십시오. –