Java Gui Repaint () 문제?
-
21-08-2019 - |
문제
JFrame이 있습니다. 이 JFrame에는 JBUTTON이 포함되어 있습니다. JBUTTON을 클릭하고 10 개의 jtextFields가 생성됩니다.
문제 : 창을 크기를 조정함으로써 "나는 리 페인트 ()을 강제로 강제로 강제로"볼 수 없다. 그래야만 jtextfields가 생성되는 것을 볼 수 있습니다.
암호:
JPanel points = new JPanel();
//Creating the JTextFields:
for (int i=0; i<10; i++) {
JTextField textField = new JTextField();
points.add(textField);
}
repaint();
this.repaint();
super.repaint();
points.repaint();
감사합니다 - For Loop 후에 방금 Points.validate ()를 불렀습니다.
해결책
Container.add
API 문서는 다음과 같이 말합니다.
참고 : 구성 요소가 표시된 컨테이너에 추가 된 경우 새 구성 요소를 표시하려면 해당 컨테이너에 유효성 검사를 요청해야합니다. 여러 구성 요소가 추가되는 경우 모든 구성 요소가 추가 된 후 유효성 검사를 한 번만 호출하여 효율성을 향상시킬 수 있습니다.
모호하고 영리하지는 않지만 규칙입니다. 전화하는 것이 더 낫습니다 JComponent.revalidate
제휴하지 않습니다 StackOverflow