org.kwis.msp.lwc
Class DialogComponent

java.lang.Object
  |
  +--org.kwis.msp.lwc.Component
        |
        +--org.kwis.msp.lwc.ContainerComponent
              |
              +--org.kwis.msp.lwc.ShellComponent
                    |
                    +--org.kwis.msp.lwc.DialogComponent

public class DialogComponent
extends ShellComponent

DialogComponent는 다양한 형태의 다이알로그박스를 지원하기 위해서 만들어진 컴포넌트입니다.

기본적으로 DialogComponent는 타이틀영역과 데이타 영역, 버튼영역으로 구성되어있습니다. 타이틀영역을 다이알로그박스의 타이틀이 존재하는 경우 타이틀을 출력해주는 영역이고, 데이타 영역을 사용자에 의해서 주가된 여러 형태의 컴포넌트를 출력해주는 영역이며, 버튼영역은 각 타입에 따라 사용되는 버튼을 출력해주는 영역입니다. 각 영역의 위치는 변경할 수 없으며, 단지 각 영역의 문자 데이타나 컴포넌트만을 변경할 수 있습니다.

DialogCompoent의 데이타 영역에는 한개의 Component만을 추가 할 수 있습니다. 따라서 여러개의 Componene를 가지는 다이알로그를 만들려면 ContainerComponent를 활용하여 데이타 영역에 추가합니다.

DialogComponent에서는 기본적으로 3가지 타입을 지원하고 있습니다. 확인기능을 제공하는 TYPE_OK타입과 확인과 취소기능을 제공하는 TYPE_OK_CANCEL 타입,일정 시간동안 화면에 데이타를 출력해주는 기능을 제공하는 TYPE_NONE입니다.

TYPE_NONE의 경우 기본적으로 화면에 출력되는 시간은 3초이며, 이 시간값을 setTimeout(int)메소드를 통해서 사용자가 지정할 수 있습니다. 타입이 TYPE_NONE인경우 TIMEOUT_INFINITE값을 timeout값으로 지정하면 TYPE_OK로 타입이 변경됩니다.

타입값이 잘못 지정된 경우, 즉 TYPE_NONE,TYPE_OK,TYPE_OK_CANCEL이외의 값이 지정된 경우, IllegalArgumentException발생됩니다.


Field Summary
protected  int actionState
          현재 어떤 액션(이벤트)이 발생한 것인지를 기억하는 필드.
static int CANCEL_BUTTON
          CANCEL버튼타입.
static int DLG_CANCEL
          doModal시 리턴되는 값으로 CANCEL버튼이 선택되었음을 나타냄.
static int DLG_OK
          doModal시 리턴되는 값으로 OK버튼이 선택되었음을 나타냄.
static int DLG_TIMEOUT
          doModal시 리턴되는 값으로 TIMEOUT되어 종료된것을 나타냄.
static int OK_BUTTON
          OK 버튼타입.
static int TIMEOUT_INFINITE
          timeout 값 중 무한대의 값을 나타냄.
static int TYPE_NONE
          버튼이 없는 형태의 다이알로그타입.
static int TYPE_OK
          OK 버튼만 있는 형태의 다이알로그타입.
static int TYPE_OK_CANCEL
          OK ,CANCEL 버튼이 있는 형태의 다이알로그타입.
 
Fields inherited from class org.kwis.msp.lwc.ShellComponent
cd, cmpCommand, cmpTitle, cmpWork, RESIZE_MASK
 
Fields inherited from class org.kwis.msp.lwc.ContainerComponent
cmpFocus, cmps, insetBottom, insetLeft, insetRight, insetTop, ncomp, offsetX, offsetY, useFrame
 
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
DialogComponent(Component cmp, String title, int type)
          새로운 DialogComponent의 인스턴스를 생성합니다.
DialogComponent(Component cmp, String ttl, int type, int x, int y, int w, int h)
          새로운 DialogComponent의 인스턴스를 생성합니다.
DialogComponent(int type)
          데이타 컴포넌트와 타이들이 없고 주어진 타입을 가지는 새로운 DialogComponent의 인스턴스를 생성합니다.
 
Method Summary
 int doModal()
          DialogComponent를 화면에 나타나게 합니다.
 int getActionState()
          DialogComponent에서 발생한 마지막 액션을 얻어옵니다.
 int getTimeout()
          현재 설정되어 있는 타임아웃값을 얻어옵니다.
 void layout()
          하위 컴포넌트의 크기와 위치를 결정합니다.
protected  void paintFrame(Graphics g)
          useFrame의 인수를true으로 호출하는 경우에 화면을 그릴때 호출됩니다.
 void setButtonString(int buttonType, String buttonStr)
          버튼의 문자를 지정합니다.
 void setTimeout(int timeout)
          DialogComponent를 화면에 보여줄 타임아웃 시간을 지정합니다.
 void setType(int type)
          DialogComponent의 타입을 지정합니다.
 void show()
          컴포넌트를 화면상에 보여줍니다.
 
Methods inherited from class org.kwis.msp.lwc.ShellComponent
addComponent, addComponent, configure, controlInset, getCard, getCommand, getNextTraversalComponent, getPrevTraversalComponent, getTitle, getWorkComponent, getX, getY, grabKey, hide, isShown, keyNotify, processEvent, removeAllComponents, removeComponent, repaint, serviceRepaints, setCommand, setGrabKeyListener,