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);
}
}
}
댓글 영역