program/java

[JAVA] JPanel 새로고침

momoa210 2024. 1. 27. 20:14

--- javax.swing. JComponent으로부터 상속된 메소드 : revalidate()

지연 자동 레이아웃을 지원합니다.  

invalidate 를 호출해, 다음에 이 컴퍼넌트의 validateRoot 를, 검증될 필요가 있는 컴퍼넌트의 리스트에 추가합니다. 검증은, 현재 보류 떠날 수 있어 모든 이벤트가 발송 된 뒤에 행해집니다. 즉, 이 메소드가 불려 간 뒤, 이 컴퍼넌트의 포함 관계의 계층의 상위에서 최초로 발견된 validateRoot 가 검증됩니다. 디폴트에서는,JRootPane,JScrollPane, 및 JTextField 이 isValidateRoot 로부터 true 를 돌려줍니다.  

이 메소드는, 이 컴퍼넌트의 사이즈, 위치, 또는 내부 레이아웃에 영향을 주는 프로퍼티치의 변경이 있었을 때에, 컴퍼넌트에 대해서 자동적으로 불려 갑니다. 이 자동적인 갱신은, 프로그램이, 일반적으로, GUI 의 내용을 갱신하기 위해서 validate 를 호출할 필요가 없다고 하는 점으로써 AWT 와는 다릅니다.  

--- java.awt. Component 로부터 상속된 메소드 : public void repaint()

이 컴퍼넌트를 다시 그립니다.  

이 컴퍼넌트가 경량 컴퍼넌트인 경우, 이 메소드는, 이 컴퍼넌트의 paint 메소드를 가능한 한 신속하게 호출합니다. 그렇지 않은 경우는,update 메소드를 가능한 한 신속하게 호출합니다.  

주:가장 효율적인 페인트 코드를 쓰는 방법 등, AWT 및 Swing 에 의해 사용되는 페인트 기구의 상세한 것에 대하여는,「Painting in AWT and Swing」를 참조해 주세요.

Example)

JPanel jp = new JPanel();

jp.revalidate();

jp.repaint();