티스토리 뷰

휴대폰 LCD에 보면 배터리 사용량을 나타내거나 안테나 세기를 나타내는 부분이 있다. 이는 내부 값에 의해 배터리가 줄거나 안테나의 세기가 줄었다 늘었다 하는 것이다. 이와 같은 것을 표현하기 위해서는 AnnunciatorComponent 클래스를 사용하면 된다.


AnnunciatorComponent 클래스의 주요 생성자
- public AnnunciatorComponent(boolean b)
  AnnunciatorComponent를 생성한다. b의 여부에 따라 AnnunciatorComponent가 표시되는 상단 부분을 응용 프로그램이 사용가능한지 불가능 한지 여부가 결정된다.
AnnunciatorComponent 클래스의 주요 메소드
- public void addComponent(int index, Component c)
자식 컴포넌트를 하나 추가한다. 이 메소드는 AnnunciatorComponent에서는 제공하지 않는다. 그러므로 이 메소드를 부르면 IllegalStateException이 발생한다.
- public void removeComponent(Compoment c)
지정한 컴포넌트를 삭제한다. 이 메소드는 AnnunciatorCompoment에서는 제공하지 않는다. 그러므로 이 메소드를 부르면 IllegalStateException이 발생한다.
- public void layout()
하위 컴포넌트의 크기와 위치를 결정한다.
- public void show()
컴포넌트를 화면상에 보여준다.
- protected void paint(Graphics g)
그래픽스 g를 가지고 컨테이너 컴포넌트를 그린다.



예제를 보도록 하자.

import org.kwis.msp.lcdui.*;
import org.kwis.msp.lwc.*;

public class wipiTest extends Jlet{

  //인스턴스 생성시 매개변수로 false를 주면 응용프로그램 영역과 겹치지 않는다.
  AnnunciatorComponent  acc=     new AnnunciatorComponent(true);

  ShellComponent        sc=      new ShellComponent();
  FormComponent         fc=      new FormComponent();
 
  ButtonComponent       btn1=    new ButtonComponent("실행하기", null);
  ButtonComponent       btn2=    new ButtonComponent("취소하기", null);

  public void startApp(String args[]){
       acc.show();

       fc.addComponent(btn1);
       fc.addComponent(btn2);

       sc.addComponent(fc);
       sc.show();
  }

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

};

출력결과는 다음과 같다.

AnnunciatorComponent  acc=     new AnnunciatorComponent(true); 로 설정 할 때,



AnnunciatorComponent  acc=     new AnnunciatorComponent(false); 로 설정 할 때,

'Computer > Jlet' 카테고리의 다른 글

IM-U160  (0) 2008.03.11
[19] 컴포넌트 - (9)TextComponent  (0) 2006.09.16
[18] 컴포넌트 - (8)AnnunciatorComponent  (0) 2006.08.12
[17] 컴포넌트 - (7)CheckboxComponent  (0) 2006.08.12
[16] 컴포넌트 - (6)DialogComponent  (0) 2006.08.12
[15] 컴포넌트 - (5)ButtonComponent  (0) 2006.08.12
댓글
Total
164,033
Today
27
Yesterday
30