다음 코드는 UI를 업데이트하기위한 코드입니다. 하지만 첫 번째 줄을 디버깅 할 때 프레임이 실행되지 않아도 즉시 업데이트되지 않습니다. 그리고 그 코드 다음에 오랜 시간 계산을하면 더 이상 바뀌지 않고 프레임을 닫을 수 없습니다.Java : 새 구성 요소는 언제 화면에 표시됩니까?
frame.getContentPane().add(gamePanel);
((JPanel)frame.getContentPane()).revalidate();
frame.repaint();
제 질문은 정확히 프레임의 일부 변경 사항이 표시되는 것입니까?
미안하지만 나는 그렇게 생각하지 않습니다. 이 간단한 코드를 실행하면'JFrame frame = new JFrame ("Key test"); \t \t MyDrawPanel1 dp1 = new MyDrawPanel1 (frame); frame.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE); \t \t frame.setVisible (true); \t \t JPanel p = 새 JPanel(); \t \t p.setLayout (new BorderLayout()); \t \t p.add (dp1, BorderLayout.CENTER); \t \t frame.getContentPane(). add (p); \t \t frame.pack();'프레임에 p를 추가하면 윈도우를 최소화하여 표시 할 수 있습니다. – Tony
변경 사항이 즉시 적용됩니다. 지정된 동작이 수행 될 때 프레임을 업데이트 할 키/액션 리스너에서 특정 시간에이를 표시합니다. – James