JFrame에서 구성 요소를로드하는 데 문제가 있습니다. 창을 재사용 할 때까지 구성 요소가 나타나지 않습니다. 나는 그 문제에 대해 검색하고있는 해결책을 찾기 :내 응용 프로그램의 크기를 조정할 필요없이 스윙 구성 요소를 표시합니다.
Thread repainter = new Thread(new Runnable() {
@Override
public void run() {
while (true) { // I recommend setting a condition for your panel being open/visible
frame.repaint();
try {
Thread.sleep(30);
} catch (InterruptedException ignored) {
}
}
}
});
repainter.setName("Panel repaint");
repainter.setPriority(Thread.MIN_PRIORITY);
repainter.start();
문제는 그 첫 번째 후 또 다른 구성 요소를로드,하지만 때 나는 여전히 크기를 조정해야 처음으로 내 aplication를로드이 작동합니다.
이 문제를 해결하기위한 더 나은 해결책을 알려 드리겠습니다.
미리 감사드립니다.
전화 frame.validate()와 frame.repaint(). – ultrajohn
1) 더 나은 도움을 받으려면 [MCVE] (http://stackoverflow.com/help/mcve) (최소 완료 및 검증 가능 예제)를 게시하십시오. 2) 해당 코드는 EDT 규칙을 위반합니다. 자세한 내용은 [스윙의 동시성을 (http://docs.oracle.com/javase/tutorial/uiswing/concurrency/)를 참조하십시오. –