상세 컨텐츠

본문 제목

Jlet 기본코드 설명

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

by luckey 2009. 3. 9. 12:37

본문

import org.kwis.msp.lcdui.*;

public class HelloJlet extends Jlet
{
 //Display 클래스 객체변수 display 선언
 protected Display display;
 
 //TestCare 클래스 객체변수 testCard 선언
 
//하단에 선언한 TestCard는 Card를 상속받는다.
 protected TestCard testCard;
 protected TCard tCard;

 //상속받은 Jlet에 있는 추상 메소드 프로그램 시작점
 //Jlet의 추상메소드중 하나인 startApp Method를 재정의한다.

 protected void startApp(String args[])
 {
  //Display는 이미 생성이 되어 있기 때문에 new 생성자가 필요없다.
  //getDefaultDisplay() : 기본 Display를 얻어온다. - getDisplay(null)와 같은 의미이다.
  //display = Display.getDisplay(null);

  display = Display.getDefaultDisplay();
  //testCard Class를 생성한다.
  testCard = new TestCard();
  tCard = new TCard();
  //생성된 testCard를 화면에 위에서 display Class의 pushCard를 사용하여 화면에 출력한다.
  //생성된 Card가 여러개일경우 제일마지막에 쓰여진 Card가 제일위로 올라간다.

  display.pushCard(tCard);
  display.pushCard(testCard);
 }

 protected void pauseApp(){}
 protected void resumeApp(){}

 //Jlet의 추상 Method중 하나인 destroyApp Method를 반드시 재정의한다.
 protected void destroyApp(boolean b) {}

 //Card 클래스를 상속받는 TestCard 클래스를 만든다.
 //Card 클래스는 추상클래스(abstract Class)이다.

 class TestCard extends Card
 {
  //Card 클래스의 추상 Method인 paint 를 재정의 하여 사용한다.
  //paint Method는 Card의 내용을 그린다.

  public void paint(Graphics g)
  {
   //Graphics Class의 drawString Method를 이용하여 문자를 출력한다.
   //LCD창의 크기는 W:120, H:160이다.
   //setColor(int r, int g, int b); - 출력되는 색상을 지정한다.

   g.setColor(0,255,0);
  
   //drawString(string, int x, int y, int anchor); - 문자출력
   g.drawString("Hello Jlet!", 30, 75, g.TOP | g.LEFT);
   g.setColor(255,0,255);
   g.drawString("한글도 찍힌다.", 10, 30, g.TOP | g.LEFT);
   g.setColor(0,0,0);
  
   //drawRect(int x, int y, int width, int height); - 사각형을 그려준다.
   //width, height는 지정된 값에 +1을 한다.(실제원하는 사이즈보다 1pixel더 크게 그려진다.)
   //g.drawRect(10,100,100,20);


   //TestCard가 Card를 상속받았기 때문에 Card안에 있는 Member Method의 사용이 가능하다.
   g.setColor(255,0,255);
   //fillRect(int x, int y, int Width, int Height) - 사각형을 그리고 색상을 칠한다.
   g.fillRect(getWidth()/4, getHeight()/4, getWidth()/2,getHeight()/2);
  
   g.setColor(0,0,0);
   //drawRect(int x, int y, int Width, int Height) - 사각형을 그린다. 안에는 채워지지 않는다.
   g.drawRect(getWidth()/4, getHeight()/4, getWidth()/2,getHeight()/2);
  
   //g.fillRect(11, 101, 99, 19);
  }
 }

 class TCard extends Card
 {
  public void paint(Graphics g)
  {
   //Graphics Class의 drawString Method를 이용하여 문자를 출력한다.
   g.drawString("TEST", 10,10,g.TOP | g.LEFT);
  }
 }
}

관련글 더보기

댓글 영역