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
'Programming > Java' 카테고리의 다른 글
Integer.parseInt()와 (int) 캐스팅 차이점 (0) | 2023.10.06 |
---|---|
[Java] 문자열 분리하기 - String 클래스의 split() 메소드 (0) | 2022.06.12 |
[Java] Map 인터페이스의 정의, Map 과 HaspMap 차이점? (0) | 2022.03.26 |
[Java] Scanner 클래스의 next(), nextLine() 메소드 차이 (0) | 2022.01.31 |
[Java] 프로그램의 실행 시간 알아내기 : currentTimeMilis() 메소드 (0) | 2022.01.24 |