Programming/Java

[Java Swing] 창 크기를 변경해야 이미지가 보일 때

joah.k 2022. 12. 23. 17:37
728x90

 

자바 Swing을 이용해 GUI 프로그램을 작성 중 발견한 문제. 

 

이미지를 띄웠는데 창 크기를 크게 하거나 변경해야만 보일 때,

이는 Component 가 생성되고 add 되는 시점때문에 발생하는 문제이며

Jframe.revalidate(), Jframe.repaint() 함수를 추가하여 해결할 수 있다! 

 

    private void setLayout(){
        // BorderLayout으로 setting
        inputPanel1.setLayout(new BorderLayout());

        inputPanel1.add(label1, BorderLayout.WEST); // 총 인원수
        inputPanel1.add(jtf, BorderLayout.CENTER); // textfield

        inputPanel2.add(label2); // 명
        inputPanel2.add(button1); // [세부입력] 버튼

        inputPanel1.add(inputPanel2, BorderLayout.EAST); // panel1에 panel2 추가
        add(inputPanel1, BorderLayout.NORTH); // Frame에 추가

        revalidate();
        repaint();

    }

 

 

JFrame을 상속받은 클래스에 revalidate(), repaint() 를 추가했더니 

다음과 같이 이미지가 잘 출력되는 것을 확인할 수 있다. 

 

728x90