org.kwis.msp.lwc
Class ImageComponent

java.lang.Object
  |
  +--org.kwis.msp.lwc.Component
        |
        +--org.kwis.msp.lwc.ImageComponent

public class ImageComponent
extends Component

ImageComponent는 이미지데이타를 지정한 정렬형태로 화면에 출력하는 클래스 입니다.

ImageComponentsetLayout(int)를 사용하여 정렬형태를 지정 할 수 있습니다. ImageComponent에서 제공하고 있는 정렬형태는 Component.LAYOUT_LEFTComponent.LAYOUT_RIGHT, Component.LAYOUT_HCENTER,Component.LAYOUT_TOP, Component.LAYOUT_BOTTOM,Component.LAYOUT_HCENTER입니다. 정렬 조합 규칙을 참고하여 각 정렬형태를 조합할 수 있습니다. ImageComponent생성시 정렬 형태는 LAYOUT_LEFT|LAYOUT_TOP로 초기화 됩니다.

See Also:
Image

Field Summary
protected  Image img
          이미지
protected  String imgStr
          이미지 리소스
 
Fields inherited from class org.kwis.msp.lwc.Component
bg, evtListener, evtListenerObj, fg, FOCUS_NOTIFY, h, HAS_FOCUS_MASK, INPUT_MASK, KEY_NOTIFY, KEY_PRESSED, KEY_RELEASED, KEY_REPEATED, KEY_TYPED, LAYOUT_BOTTOM, LAYOUT_HCENTER, LAYOUT_LEFT, LAYOUT_RIGHT, LAYOUT_TOP, LAYOUT_VCENTER, mask, parent, POINT_DRAGGED, POINT_PRESSED, POINT_RELEASED, POINTER_NOTIFY, POS_MASK, PREFER_SIZE_MASK, prefH, prefW, SHOW_NOTIFY, SIZE_MASK, VALID_MASK, w, x, y
 
Constructor Summary
ImageComponent()
          새로운 ImageComponent의 인스턴스를 생성합니다.
ImageComponent(Image img)
          새로운 ImageComponent의 인스턴스를 생성합니다.
ImageComponent(String str)
          새로운 ImageComponent의 인스턴스를 생성합니다.
 
Method Summary
 Image getImage()
          ImageComponent에 설정된 이미지를 얻어옵니다.
 int getPreferredHeight()
          컴포넌트의 적절한 높이를 결정합니다.
 int getPreferredHeight(int w)
          컴포넌트의 적절한 높이를 결정합니다.
 int getPreferredWidth()
          컴포넌트의 적절한 폭을 결정합니다.
 void paintContent(Graphics g)
          내부를 칠합니다.
 void play()
          ImageComponent의 이미지 데이타가 Animation Image 인 경우에 이 함수가 사용될 수 있으며 이미지의 움직임을 시작합니다.
 void setImage(Image img)
          ImageComponent에 이미지를 설정합니다.
 void setImage(String str)
          ImageComponent에 주어진 이미지 리소스을 가지고 이미지를 생성하여 설정합니다.
 void setLayout(int layout)
          이미지의 정렬형태를 설정합니다.
protected  void showNotify(boolean bShow)
          화면의 내용이 보이면 호출됩니다.
 void stop()
          ImageComponent의 이미지 데이타가 Animation Image 인 경우에 이 함수가 사용되며, 이미지의 움직임을 멈춥니다.
 
Methods inherited from class org.kwis.msp.lwc.Component
calcPreferredSize, canHandleInput, configure, focusNotify, getBackground, getCard, getForeground, getHeight, getWidth, getX, getXOnScreen, getY, getYOnScreen, hasFocus, invalidate, isShown, isValid, keyNotify, layout, pointerNotify, processEvent, repaint, repaint, serviceRepaints, setBackground, setEventListener, setFocus, setForeground, toString, validate
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

imgStr

protected String imgStr
이미지 리소스

img

protected Image img
이미지
Constructor Detail

ImageComponent

public ImageComponent()
새로운 ImageComponent의 인스턴스를 생성합니다. 이미지 데이타는 null로 초기화 됩니다.

ImageComponent

public ImageComponent(Image img)
새로운 ImageComponent의 인스턴스를 생성합니다. imgnull을 지정할 수 있습니다.
Parameters:
img - 초기값으로 사용할 이미지 혹은 null

ImageComponent

public ImageComponent(String str)
새로운 ImageComponent의 인스턴스를 생성합니다. 생성시 주어인 이미지의 리소스 str를 가지고 이미지를 생성하게 됩니다.
Parameters:
str - 초기값으로 사용할 이미지의 리소스 혹은 null
Method Detail

setImage

public void setImage(Image img)
ImageComponent에 이미지를 설정합니다. 이미 설정된 이미지가 존재하면 주어진 새로운 이미지로 재 설정합니다. 변경된후 자동적으로 repaint가 됩니다. img가 null이면 설정된 이미지가 삭제 됩니다.
Parameters:
img - 설정할 이미지

getImage

public Image getImage()
ImageComponent에 설정된 이미지를 얻어옵니다.
Returns:
설정된 이미지

setImage

public void setImage(String str)
ImageComponent에 주어진 이미지 리소스을 가지고 이미지를 생성하여 설정합니다. 이미지 리소스가 null이거나 올바르지 못한 경우, 이미지를 생성하지 않고, NullPointerException이 발생합니다.
Parameters:
str - 자료의 경로명을 지정하는 문자열
Throws:
IllegalArgumentException - 자료의 경로명이 null인경우

setLayout

public void setLayout(int layout)
이미지의 정렬형태를 설정합니다. 기본적으로 설정되어 있는 정렬형태는 Component.LAYOUT_LEFT입니다. ImageComponent에서 사용되는 정렬형태는 Component.LAYOUT_LEFTComponent.LAYOUT_RIGHT, Component.LAYOUT_TOP,Component.LAYOUT_BOTTOM Component.LAYOUT_HCENTER,Component.LAYOUT_VCENTER입니다. 이 정렬값은 Component에서 참조하고 있습니다.
Parameters:
type - Layout Type값.
See Also:
Component.LAYOUT_LEFT, Component.LAYOUT_RIGHT, Component.LAYOUT_HCENTER, Component.LAYOUT_TOP, Component.LAYOUT_BOTTOM, Component.LAYOUT_VCENTER

getPreferredHeight

public int getPreferredHeight(int w)
Description copied from class: Component
컴포넌트의 적절한 높이를 결정합니다. 지정된 제한된 폭을 가질 경우의 컴포넌트의 높이를 돌려줍니다. 만일 LabelComponentTextFieldComponent, TextAreaComponent와 같이 포맷팅이 가능한 컴포넌트인 경우에는 가변 폭을 가질수가 있습니다. 가변 폭을 가지게 되면, 폭에 따라서 높이가 달라지게 됩니다. 이때 이 함수를 통해서 컴포넌트의 높이를 얻어 옵니다. 만일, w가 -1이 면 폭에 제한이 없는 것으로 계산됩니다.
Overrides:
getPreferredHeight in class Component
Following copied from class: org.kwis.msp.lwc.Component
Parameters:
w - 가변폭.
Returns:
컴포넌트의 높이.

getPreferredHeight

public int getPreferredHeight()
Description copied from class: Component
컴포넌트의 적절한 높이를 결정합니다. ContainerComponent에서 컴포넌트의 크기를 결정할 때에 이 함수가 돌려주는 값을 참조하여 결정합니다.
Overrides:
getPreferredHeight in class Component
Following copied from class: org.kwis.msp.lwc.Component
Returns:
컴포넌트의 높이

getPreferredWidth

public int getPreferredWidth()
Description copied from class: Component
컴포넌트의 적절한 폭을 결정합니다. Container에서 컴포넌트의 크기를 결정할 때에 이 함수가 돌려주는 값을 참조하여 결정합니다.
Overrides:
getPreferredWidth in class Component
Following copied from class: org.kwis.msp.lwc.Component
Returns:
컴포넌트의 폭.

paintContent

public void paintContent(Graphics g)
Description copied from class: Component
내부를 칠합니다. 먼저 validate함수를 호출하여, 컴포넌트의 위치를 유효화(컴포넌트의 위치와 크기 재 계산)한 후 내부의 색상으로 화면을 칠하게 됩니다. 색상이 -1이면, 칠하진 않습니다.
Overrides:
paintContent in class Component
Following copied from class: org.kwis.msp.lwc.Component
Parameters:
g - 칠할 Graphics.
See Also:
Graphics

showNotify

protected void showNotify(boolean bShow)
Description copied from class: Component
화면의 내용이 보이면 호출됩니다. addComponentremoveComponent에 의해서 불리거나, 자신의 맨 상위의 부모 컴포넌트(ShellComponent)가 show에 의해서 화면에 나타날 때 호출됩니다.
Overrides:
showNotify in class Component
Following copied from class: org.kwis.msp.lwc.Component
Parameters:
bShow - 컴포넌트가 나타나는지 안나타나는지 여부

play

public void play()
ImageComponent의 이미지 데이타가 Animation Image 인 경우에 이 함수가 사용될 수 있으며 이미지의 움직임을 시작합니다. Animation이 진행되는 동안 ImageObserver에 animation 진행 상황을 ImageObserver의 notify()함수를 호출함으로써 알려줍니다. Animation 이미지가 아닌 경우에 이 함수는 아무런 작업도 하지 않습니다

stop

public void stop()
ImageComponent의 이미지 데이타가 Animation Image 인 경우에 이 함수가 사용되며, 이미지의 움직임을 멈춥니다. Animation Image가 아닌 경우에 아무런 작업도 하지 않습니다. 이미지를 더이상 사용하지 않으면 이 함수를 불러서 이미지의 레퍼런스를 없애야 합니다. 그렇지 않으면, 사용하지 않은 이미지 레퍼런스를 가지게 되므로, 메모리를 낭비할 수 있습니다.