상세 컨텐츠

본문 제목

org.kwis.msp.lwc 패키지 [ShellComponent]

청강컴정/소프트웨어공학

by luckey 2009. 3. 30. 22:37

본문

ShellComponent에 대해서 알아보자.
이전에 상속관계에서 ShellComponet의 부모클래스는 ContainerComponent 이라는 것을 알수 있었다.

ShellComponent는 단 하나의 자식 Component만을 가질 수 있다. 하지만 상속개념의 자식이 아니다.
여러개의 Component를 담기 위해서는 ShellComponent를 사용할 수 없다는 얘기이다.
그러면? 어떻게 해야 할 것인가??

FormComponent라는 것이 있었다. 이것은 ShellComponent 와는 다르게 여러개의 Component를 담아서 그 해당 FormComponent를 ShellComponent 에 등록하는 것이다.

아래의 코드를 보자.
import org.kwis.msp.lcdui.*;
import org.kwis.msp.lwc.*;


public class ShellandForm extends Jlet
{
    protected void startApp(String args[])
    {

        //ShellComponent객체를 생성한다.
        //최상위 Component로써 화면에 FormComponent객체를 담아서 출력하기 위해 사용된다.

        ShellComponent shell = new ShellComponent();
        
        //FormComponent 객체를 생성한다.
        //FormComponent 객체를 이용하여 다양한 Component를 담는다.

        FormComponent form = new FormComponent();

        //만들어진 FormComponent 객체에 LabelComponent객체를 이용하여 추가한다.
        form.addComponent(new LabelComponent("위피 프로젝트"));
        form.addComponent(new LabelComponent("라벨 컴포넌트"));


        //FormComponent객체를 ShellComponent객체에 담는다.
        shell.addComponent(form);

        //ShellComponent객체를 화면에 보여준다.
        shell.show();
    }

    protected void pauseApp(){}
    protected void resumeApp(){}
    protected void destroyApp(boolean b){}
}

위의 코드를 보면 FormComponent 객체를 담기 위한 ShellComponent객체를 생성한후 FormComponent에 LabelComponent객체를 담아서 FormComponent 객체를 ShellComponent 객체에 담는것을 볼 수 있다.

ShellComponent
+---- FormComponent
        +---- LabelComponent
        +---- LabelComponent

위와 같은 구조로 될 것이며 최종적으로 ShellComponent를 출력(shell.show())하면 모든 내용이 출력되는 것이다.

관련글 더보기

댓글 영역