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())하면 모든 내용이 출력되는 것이다.
댓글 영역