콘텐츠로 이동

Class Card

package org.kwis.msp.lcdui

java.lang.Object
|
+--org.kwis.msp.lcdui.Card

Direct Known Subclasses:

  • ProxyCard, TextComponent.ModeViewer

extends Object:

화면에 출력될 수 있는 하나의 단위 클래스입니다.

이 클래스는 화면에 출력할 수 있는 단위가 되며 한 화면은 여러 카드가 쌓인 스택으로 구성됩니다. 스택에 싸인 여러 카드는 한 화면(Display)에 보여집니다. 한 카드는 여러 화면에 넣을 수는 없습니다.

카드는 화면상에서의 위치와 크기를 가지고 있습니다. moveresize함수를 이용하여 그 위치나 크기를 변경할 수 있습니다.

repaint라는 함수를 사용하게 되면, 카드의 일부분에 대해서 다시 이벤트 처리 쓰레드에 의해서 paint 함수가 불려서 화면에 내용이 나타나도록 되어 있습니다.

카드는 사용자 입력을 받을 수 있습니다. keyNotify, pointerNotify, 등의 사용자에 의해서 불려지는 함수가 있으며, 모든 이벤트는 일단 스택 상위의 Card로 전달됩니다. 전달된 이벤트가 그 카드에서 처리를 한다면 위의 불려지는 함수는 true를 돌려주며, 그러면, 하위 Card는 이벤트를 받지 못합니다. 그러나 반대로 false 를 돌려주면, 하위 카드에게 이벤트를 전달하며, 같은 식으로 이벤트를 받은 하위 카드는 true, false를 돌려줍니다. 이 과정은 맨 하위 Card까지 반복이 됩니다.

카드가 입력받은 키는 기본적으로 ITU-Key ‘0’부터 ‘9’ 그리고 ’#’, ’*’ 이 가능합니다. 이 키들은 휴대폰에 꼭 존재하는 키입니다. 그외의 키들은 게임키로 판별이 가능합니다. 지원되는 키들은 EventQueue.UP, EventQueue.DOWN, EventQueue.LEFT, EventQueue.RIGHT, EventQueue.FIRE등이며, EventQueue.SOFT1, EventQueue.SOFT2도 있지만, 이 경우에는 폰에서 지원하지 않는 경우가 있으므로 유의해서 사용하십시오. 게임 키로 판별할 경우에는 Display.getGameAction(int)Display.getKeyCode(int)라는 함수로 키 코드와 게임 키로의 서로의 변환이 가능합니다.

카드가 pushCard, popCard에 의해서 보여지거나, 보이지 않게되는 경우에 showNotify라는 함수가 불립니다.

좌표체계는 화면 좌측 상단이 원점이 되고, 밑으로 가면 y축의 값이 증가하고, 오른쪽으로 가면 x축의 값이 증가하도록 되어 있습니다.

  • protected  boolean bTrans — Card가 투명한지 아닌지 여부.
  • protected  int h — Card의 화면상의 높이.
  • protected  int w — Card의 화면상의 폭.
  • protected  int x — card의 화면상의 x축 좌표.
  • protected  int y — Card의 화면상의 y축 좌표.
  • Card () 화면 크기 만큼의 카드를 생성합니다.
  • Card (boolean bTrans)
  • Card ( Display d) 화면 크기의 카드를 생성합니다.
  • Card ( Display d, int x, int y, int w, int h) 지정한 display를 위해서 지정한 크기와 위치로 카드를 생성합니다.
  • Card ( Display d, int x, int y, int w, int h, boolean bTrans)
  • Card (int x, int y, int w, int h) 지정한 크기와 위치로 카드를 생성합니다.
  • Display getDisplay () — 카드의 display를 돌려줍니다.
  • int getHeight () — 카드의 높이를 얻어 옵니다.
  • int getWidth () — 카드의 폭을 얻어 옵니다.
  • int getX () — 카드의 x축 위치를 얻어 옵니다.
  • int getY () — 카드의 y축 위치를 얻어 옵니다.
  • boolean isShown () — Card가 화면에 보이는지 안 보이는지 여부를 돌려줍니다.
  • protected  boolean keyNotify (int type, int key) — 사용자 키 입력이 생성되면 불립니다.
  • void move (int x, int y) — 카드의 화면상의 위치를 변경합니다.
  • protected abstract  void paint ( Graphics g) — Card의 내용을 그려줍니다.
  • protected  boolean pointerNotify (int type, int x, int y) — 사용자 포인팅 디바이스의 입력이 생성되면 불립니다.
  • void repaint () — Card전체 영역을 다시 그려줍니다.
  • void repaint (int x, int y, int w, int h) — 지정된 영역을 다시 그려줍니다.
  • void resize (int w, int h) — 카드의 크기를 변경합니다. w, h 둘중 하나가 0보다 작거나 같은 경우에는 IllegalArgumentException 오류를 발생 시킵니다.
  • void serviceRepaints () — repaint영역을 다시 그리고, 화면에 출력합니다. repaint할 영역을 강제적으로 그립니다.
  • protected  void showNotify (boolean bShow) — 이 카드가 보이기 바로 직전이나, 카드가 화면에서 삭제되는 경우에 불립니다.
protected int x
  • card의 화면상의 x축 좌표.
protected int y
  • Card의 화면상의 y축 좌표.
protected int w
  • Card의 화면상의 폭.
protected int h
  • Card의 화면상의 높이.
protected boolean bTrans
  • Card가 투명한지 아닌지 여부.

이 옵션을 사용하면, 현재 카드 바로 하위 컴포넌트가 그린후에 카드가 그려지므로, 알파 블랜딩이나 다양한 형태의 카드를 그릴 수 있습니다.

public Card()
  • 화면 크기 만큼의 카드를 생성합니다.

기본적으로 화면의 크기 만큼의 카드를 생성합니다. 이때 Display.getDefaultDisplay함수가 돌려주는 Display의 크기로 잡힙니다.

public Card(boolean bTrans)
public Card(Display d)

Parameters:

  • d - 카드를 생성할 display
public Card(int x,
int y,
int w,
int h)

Parameters:

  • h - Card의 높이

Throws:

  • IllegalArgumentException - w나 h가 0 이하인 경우
public Card(Display d,
int x,
int y,
int w,
int h)

Parameters:

  • h - Card의 높이

Throws:

  • IllegalArgumentException - w나 h가 0 이하인 경우
public Card(Display d,
int x,
int y,
int w,
int h,
boolean bTrans)
public void move(int x,
int y)

Parameters:

  • y - Card의 display상에서의 y축 좌표
public void resize(int w,
int h)

Parameters:

  • h - 카드의 높이

Throws:

  • IllegalArgumentException - w나 h가 0 이하인 경우
public int getWidth()

Returns:

  • 카드의 폭
public int getHeight()

Returns:

  • 카드의 높이
public int getX()

Returns:

  • 카드의 x축 상의 좌표
public int getY()

Returns:

  • 카드의 y축 상의 좌표
protected void showNotify(boolean bShow)

Parameters:

  • bShow - 보이는지 안보이는지 여부
protected boolean keyNotify(int type,
int key)

Parameters:

  • key - keyCode값; 자세한 키코드는 EventQueue를 참조

Returns:

  • 하위 카드에 이벤트 전달하려면 true, 그렇지 않으면 false
protected boolean pointerNotify(int type,
int x,
int y)

Parameters:

  • key - 키 코드 값

Returns:

  • 하위 Card에 이벤트 전달하려면 true, 그렇지 않으면 false
protected abstract void paint(Graphics g)

Parameters:

  • g - 칠해질 graphics
public void repaint(int x,
int y,
int w,
int h)

Parameters:

  • h - 특정영역을 폭
public void repaint()
  • Card전체 영역을 다시 그려줍니다.

repaint(0, 0, getWidth(), getHeight())을 부르는것과 마찬가지 효과입니다.

public void serviceRepaints()
  • repaint영역을 다시 그리고, 화면에 출력합니다.

repaint할 영역을 강제적으로 그립니다. 이 함수 내에서 직접 paint 함수를 부릅니다.

public boolean isShown()

Returns:

  • 보이는지 안 보이는 지 여부
public Display getDisplay()

Returns:

  • 吏€
public Card()
  • 화면 크기 만큼의 카드를 생성합니다.

기본적으로 화면의 크기 만큼의 카드를 생성합니다. 이때 Display.getDefaultDisplay함수가 돌려주는 Display의 크기로 잡힙니다.

public Card(boolean bTrans)
public Card(Display d)

Parameters:

  • d - 카드를 생성할 display
public Card(int x,
int y,
int w,
int h)

Parameters:

  • h - Card의 높이

Throws:

  • IllegalArgumentException - w나 h가 0 이하인 경우
public Card(Display d,
int x,
int y,
int w,
int h)

Parameters:

  • h - Card의 높이

Throws:

  • IllegalArgumentException - w나 h가 0 이하인 경우
public Card(Display d,
int x,
int y,
int w,
int h,
boolean bTrans)
public void move(int x,
int y)

Parameters:

  • y - Card의 display상에서의 y축 좌표
public void resize(int w,
int h)

Parameters:

  • h - 카드의 높이

Throws:

  • IllegalArgumentException - w나 h가 0 이하인 경우
public int getWidth()

Returns:

  • 카드의 폭
public int getHeight()

Returns:

  • 카드의 높이
public int getX()

Returns:

  • 카드의 x축 상의 좌표
public int getY()

Returns:

  • 카드의 y축 상의 좌표
protected void showNotify(boolean bShow)

Parameters:

  • bShow - 보이는지 안보이는지 여부
protected boolean keyNotify(int type,
int key)

Parameters:

  • key - keyCode값; 자세한 키코드는 EventQueue를 참조

Returns:

  • 하위 카드에 이벤트 전달하려면 true, 그렇지 않으면 false
protected boolean pointerNotify(int type,
int x,
int y)

Parameters:

  • key - 키 코드 값

Returns:

  • 하위 Card에 이벤트 전달하려면 true, 그렇지 않으면 false
protected abstract void paint(Graphics g)

Parameters:

  • g - 칠해질 graphics
public void repaint(int x,
int y,
int w,
int h)

Parameters:

  • h - 특정영역을 폭
public void repaint()
  • Card전체 영역을 다시 그려줍니다.

repaint(0, 0, getWidth(), getHeight())을 부르는것과 마찬가지 효과입니다.

public void serviceRepaints()
  • repaint영역을 다시 그리고, 화면에 출력합니다.

repaint할 영역을 강제적으로 그립니다. 이 함수 내에서 직접 paint 함수를 부릅니다.

public boolean isShown()

Returns:

  • 보이는지 안 보이는 지 여부
public Display getDisplay()

Returns:

  • 吏€
public void move(int x,
int y)

Parameters:

  • y - Card의 display상에서의 y축 좌표
public void resize(int w,
int h)

Parameters:

  • h - 카드의 높이

Throws:

  • IllegalArgumentException - w나 h가 0 이하인 경우
public int getWidth()

Returns:

  • 카드의 폭
public int getHeight()

Returns:

  • 카드의 높이
public int getX()

Returns:

  • 카드의 x축 상의 좌표
public int getY()

Returns:

  • 카드의 y축 상의 좌표
protected void showNotify(boolean bShow)

Parameters:

  • bShow - 보이는지 안보이는지 여부
protected boolean keyNotify(int type,
int key)

Parameters:

  • key - keyCode값; 자세한 키코드는 EventQueue를 참조

Returns:

  • 하위 카드에 이벤트 전달하려면 true, 그렇지 않으면 false
protected boolean pointerNotify(int type,
int x,
int y)

Parameters:

  • key - 키 코드 값

Returns:

  • 하위 Card에 이벤트 전달하려면 true, 그렇지 않으면 false
protected abstract void paint(Graphics g)

Parameters:

  • g - 칠해질 graphics
public void repaint(int x,
int y,
int w,
int h)

Parameters:

  • h - 특정영역을 폭
public void repaint()
  • Card전체 영역을 다시 그려줍니다.

repaint(0, 0, getWidth(), getHeight())을 부르는것과 마찬가지 효과입니다.

public void serviceRepaints()
  • repaint영역을 다시 그리고, 화면에 출력합니다.

repaint할 영역을 강제적으로 그립니다. 이 함수 내에서 직접 paint 함수를 부릅니다.

public boolean isShown()

Returns:

  • 보이는지 안 보이는 지 여부
public Display getDisplay()

Returns:

  • 吏€