자바/Swing

[Java/Swing] 화면에 컴포넌트가 보이지 않을 때

도트7 2021. 12. 2. 03:27

문제가 발생한 예
클릭을 해야만 정상적으로 화면이 표시된다.

 Swing으로 화면을 구성했을 때 Frame에 배치한 컴포넌트들이 보이지 않고 마우스로 해당 자리를 클릭해야만 컴포넌트가 표시되거나 클릭해도 표시되지 않을 때가 있다.

 

 

public class Main {
	public static void main(String args[]) {
		GUI gui = new GUI();
	}
}

class GUI extends JFrame {
	public GUI () {
		..
		this.setVisible(true);
		..
    }
}

 JFrame을 상속한 GUI 클래스가 있을 때 해당 클래스 내부에서 setVisible을 호출할 경우 위와 같은 현상이 발생한다.

 

 

public class Main {
	public static void main(String args[]) {
		GUI gui = new GUI();
		gui.setVisible(true);
	}
}

 내부에서 setVisible을 호출하지 않고 객체화한 후 호출하도록 하자.