super.paint() 이용

java core 2005. 12. 12. 23:27

ProgramBrief 클래스는 Container를 상속받은 Scene을 상속받은 클래스로서, UI화면을 보여주는 창이다.

add된 컴포넌트와 paint메소드를 오버라이드하여 부분을 잘 엮으면, 기본 컴포넌트와 UI화면에 specific하게 보여줄 수 있다.

 

public class ProgramBrief extends Scene {

    Label label = new Label();

 

    public ProgramBrief() {

        add(label, 0);

    }

 

    public void paint(Grahics g) {

        super.paint(g); // 실제 add된 컴포넌트가 paint되는 부분.

        g.setColor(Color.black);

        g.fillRect(0, 0, getSize().width, getSize().height);

         //=> add된 컴포넌트가 그려진다.

        // 이럴 때는 super.paint(g) 콜을 화면에 그려지고 난 뒤로 이동시켜야한다.

        // g.setColor(Color.black);

        // g.fillRect(0, 0, getSize().width, getSize().height);

        // super.paint(g); // 실제 add된 컴포넌트가 paint되는 부분.

        // => 이렇게 하면, 바탕을 검게한후, 컴포넌트를 칠하게 된다..

   }

}

Posted by '김용환'
,