문제

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

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top