2013년 8월 8일 목요일

[오라클자바닷넷강좌]JAVA AWT Component 클래스

이번 강좌에서는 중요한 Component 클래스에 대해 알아 보겠습니다. 자바 클래스의 최상위 클래스가 Object인 것처럼, AWT의 GUI콤포넌트의 최상위 클래스는java.awt.Component입니다. Component의 하위클래스에는 다시 Button, Canvas, Checkbox, Choic, Label, List, Scrollbar, TextComponent 과 Container가 존재합니다. 그리고, 그중에서, Container콤포넌트는 Button, Canvas..와 같은 일반 콤포넌트와 달리, 다른 Component와 Container를 포함할수 있습니다.


오라클자바커뮤니티에서 설립한 오엔제이프로그래밍 실무교육센터
(오라클SQL, 튜닝, 힌트,자바프레임워크, 안드로이드, 아이폰, 닷넷 실무전문 강의)  




Component Class(Abstract)
- 자바의 모든 Component가 상속을 받는 클래스 -
- 이 클래스를 상속 받는 클래스가 적절히 Method 들을 Overriding 해줘야 함
- Component로서의 기본적인 기능들을 정의및 선언, 하위 클래스에 대한 공통적인 요소(Attribute)아 행동(Behavior, method)을 정의
- 이들 Component는 다른 Component를 자신안에 둘수 있는 컨테이너 콤 포넌트이고, 다른 하나는 컨테이너 역할을 할수 없는 단순한 Component
- 기존 OS 기반 위에서 만들어 지므로 OS가 가지고 있는 Component만을 지원
- Java.awt Package안에 포함되어 있습니다.

배치/위치와 관련된 Method
doLayout() : 이 컴포넌트를 배치하도록 배치 관리 프로그램에 프롬프트 합니다.
validate() : 컨테이너와 모든 부속 컴포넌트가 Valid Layout을 가짐을 확인 합니다. 컨테이너와 하부 컴포넌트를 다시 배치 합니다.
invalidate() : 컨테이너와 모든 부속 컴포넌트가 다시 그려져야 한다고 표시
setVisible(boolean?b) : b 가 true인 경우 Component를 보이게 설정, false인 경우 안보이게 설정
getLocation() : Component의 위치를 x,y형태의 Point 유형의 객체로 Return 합니다.
getLocation(Point ?rv) : Component의 위치를 x,y형태의 Point 유형의 객체로 Return 한다.
getLocationOnScreen() : 화면의 좌표 공간에 컴포넌트의 왼쪽 상단을 지정하여, 점 형식으로 이 컴포넌트의 위치를 가져 옵니다.
setLocation(int?x, int?y) : Component의 위치를 x ,y에 대응시킵니다.
setLocation(Point?p) : Component의 위치를 점 p에 대응시킵니다.
getBounds() : 객체의 위치와 크기를 Rectangle 유형의 객체로 Return 합니다.
getBounds(Rectangle ?rv) : 객체의 위치와 크기를 Rectangle rv로 Return 합니다.
setBounds(int?x, int?y, int?width, int?height) : Component 객체의 위치를 x,y에 위치시키고 그 크기는 width, height 로 합니다.
setBounds(Rectangle ?r) : Component 객체의 위치및 크기를 Rectabgle r로 합니다.
getX(), getY()


크기와 관련된 Method
getSize() : Component의 크기를 Dimension 객체(width, height)로 Return 합니다.
getSize(Dimension ?rv):Component크기를 Dimension객체 rv로 Return 합니다.
setSize(int?width, int?height) : component의 크기를 width와 height로 설정합니다.
setSize(Dimension ?d) : Component의 크기를 Dimention 객체의 width와 height로 설정 합니다.
getPreferredSize() : 이 컴포넌트의 선호 크기를 가져옵니다.
getWidth() : getHeight() :
getMaximumSize() : 이 컴포넌트의 최대 크기를 가져 옵니다.
getMinimumSize() : 이 컴포넌트의 최소 크기를 가져 옵니다.

Graphic과 관련된 메소드
getForeground() : 현재 전경색을 읽어 Color유형의 객체로 Return 합니다.
setForeground(Color c) : 현재 전경색을 Color유형의 객체 c 로 설정 합니다.
getBackground() : 현재 배경색을 읽어 Color 유형의 객체로 Return 합니다.
setBackground(Color c) : 현재 배경색을 Color 유형의 객체c로 설정 합니다.
getFont() : Component 객체의 글꼴을 Font 객체 형태로 Return 합니다.
setFont(Font f) : Component 객체의 글꼴을 설정한다.
getFontMetrics(Font font) : 지정된 글꼴의 글꼴 행렬을 가져 옵니다.
setCursor(Cursor cursor) : 커서 이미지를 사전 정의된 커서로 설정 합니다.
getCursor() : 커서가 이 컴포넌트상에 설정되도록 합니다.
paint(Graphics g) : 이 컴포넌트의 색상을 표시 합니다.
paintAll(Graphics g) : 이 컴포넌트와 모든 서브컴포넌트의 색상을 표시 합니다.
repaint() : 이 컴포넌트의 색상을 표시 합니다.
repaint(long tm) : 이 컴포넌트의 색을 다시 표시 합니다.
repaint(int x, int y, int width, int height) : 이 컴포넌트의 지정된 사각형 색상을 표시 합니다.
repaint(long tm, int x, int y, int width, int height) : tm 밀리쎄컨드 내에 이 컴포넌트의 지정된 사각형 색상을 표시 합니다.
print(Graphics g) : 이 컴포넌트의 색상을 표시 합니다.
printAll(Graphics g) : 이 컴포넌트와 모든 서브컴포넌트의 색상을 표시 합니다.
update(Graphics g) : 이 컴포넌트를 갱신 합니다.

Event와 관련된 메소드
processEvent(AWTEvent e) : 이 컴포넌트에서 발생하는 이벤트를 처리 합니다.
processComponentEvent(ComponentEvent e) : 등록된 ComponentListener 객체로 보내어, 이 컴포넌트에서 발생하는 컴포넌트 이벤트들을 처리 합니다.
processFocusEvent(FocusEvent e):등록된FocusListener객체로 보내어, 컴포넌트에서 발생하는 초점이벤트들을 처리
processKeyEvent(KeyEvent?e) : 등록된 KEYLISTENER객체로 보내어, 이 컴포넌트에서 발생하는 키 이벤트들을 처리.
processMouseEvent(MouseEvent e):등록된 MouseListener 객체로 보내어, 이 컴포넌트에서 발생하는 마우스이벤 처리
processMouseMotionEvent(MouseEvent e) : 등록된 MouseMotionListener 객체로 보내어, 이 컴포넌트에서 발생하는 마우스 모션 이벤트들을 처리 합니다.
processInputMethodEvent(InputMethodEvent e) : 등록된 InputMethodListener 객체로 보내어, 이 컴포넌트에서 발생하는 InputMethod 이벤트들을 처리 합니다.
addComponentListener(ComponentListener?l) : 이 컴포넌트로부터 컴포넌트 이벤트를 받기 위해 지정된 컴포넌트 수신기(listener)를 추가합니다.
removeComponentListener(ComponentListener l) :
addFocusListener(FocusListener l) :이 컴포넌트로부터 초점 이벤트를 받기 위해 지정된 초점 수신기를 추가 합니다.
removeFocusListener(FocusListener l)
addKeyListener(KeyListener l) : 이 컴포넌트로부터 키 이벤트를 받기 위해 지정된 키 수신기를 추가.
removeKeyListener(KeyListener l) :
addMouseListener(MouseListener l) : 이 컴포넌트로부터 마우스 이벤트를 받기 위해 지정된 마우스 수신기를 추가 합니다.
removeMouseListener(MouseListener l)
addMouseMotionListener(MouseMotionListener l) : 이 컴포넌트로부터 마우스 모션 이벤트를 받기 위해 지정된 마우스 모션 수신기를 추가 합니다.
removeMouseMotionListener(MouseMotionListener l) addInputMethodListener(InputMethodListener l) : 이 컴포넌트로부터 Input Method 이벤트를 받기 위해 지정된 Input Method 수신기를 추가 합니다.
removeInputMethodListener(InputMethodListener l)

addPropertyChangeListener(PropertyChangeListener listener) : 이 컴포넌트로부터 Property Change 이벤트를 받기 위해 지정된 Input Method 수신기를 추가 합니다.
removePropertyChangeListener(PropertyChangeListener listener)

getListeners(Class listenerType) : addXXXListener()로 추가된 리스너 들을 리스너 배열로 Return 합니다.
기타 메소드
addNotify() : 이 컴포넌트가 컨테이너에 추가되었고, 피어(peer)가 필요하면 작성해야 한다는 것을 이 컴포넌트에 알립니다.
removeNotify() : 이 컴포넌트가 컨테이너에서 제거되었고, 피어(peer)가 있으면 피어가 제거된다는 것을 이 컴포넌트에 알립니다.
add(PopupMenu popup) : 지정된 팝업 메뉴를 컴포넌트에 추가 합니다.
contains(Point p) : 이 컴포넌트에 지정된 점이 "포함"되어 있는지 점검합니다. 이 점의 x 및 y 좌표는 이 컴포넌트의 좌표 체계에 비례하여 정의 됩니다.
contains(int x, int y) : 이 컴포넌트에 지정된 점이 "포함"되어 있는지 점검합니다. 여기서 x와 y는 이 컴포넌트의 좌표 체계에 비례하여 정의 됩니다.
isEnabled() : 이 컴포넌트가 작동 가능한지 판별 합니다.
setEnabled(boolean b) : 매개변수 b 값에 따라 이 컴포넌트를 작동시키거나 작동 불가능하게 합니다.
getComponentAt(int x, int y) : 이 컴포넌트 또는 바로 아래 부속 컴포넌트 중 하나에 (x,?y) 위치가 있는지 판별 합니다. 있으면 포함된 컴포넌트를 리턴 합니다. .
getComponentAt(Point p) : 지정된 지점이 속해 있는 서브컴포넌트 또는 컴포넌트를 리턴 합니다.
getName() : 컴포넌트의 이름을 가져옵니다.
setName(String name) : 지정된 문자열로 컴포넌트 이름을 설정 합니다.
getParent() : 이 컴포넌트의 상위 컴포넌트를 가져 옵니다.
getToolkit() : 이 컴포넌트의 도구 킷을 가져 옵니다.
hasFocus() : 컴포넌트가 KeyBoard Focus를 가지고 있는지 boolean형 Return
isVisible() : 이 컴포넌트가 가시적인지 판별 합니다.
list() : 표준 시스템 출력 스트림 System.out으로 이 컴포넌트의 목록을 인쇄 합니다.
list(PrintStream out) : 지정된 출력 스트림으로 이 컴포넌트의 목록을 인쇄 합니다.
list(PrintStream out, int indent) : 지정된 들여쓰기 위치에서 시작하여 지정된 인쇄 스트림으로 목록을 인쇄 출력 합니다.
list(PrintWriter out) : 지정된 인쇄 작성자로 목록을 인쇄합니다.
list(PrintWriter out, int indent) : 지정된 들여쓰기 위치에서 시작하여 지정된 인쇄 작성자로 목록을 인쇄 합니다.
isShowing() : 이 컴포넌트가 화면에 표시되고 있는지 판별합니다. isValid() : 이 컴포넌트가 유효한지 판별 합니다.
isDisplayable() : 이 컴포넌트가 displayable 인지 판별
isLightweight() : native Peer Component를 가지지 않는 Component인지 판별 true if this component has a lightweight peer; false if it has a native peer or no peer. Component나 Container의 하위클래스중 Button이나 Scollbar 같은 것이외의 것들은 lightweight Component, 스윙 컴포넌트는 lightWeight Component 컴포넌트가 displayabke 이 아니면 false

아래의 예제를 참고 하세요~

import java.awt.*;
public class AwtTest extends Frame {
Button btn; Label lbl ; TextArea ta; TextField tf; Checkbox cb1, cb2;
Choice choice; List list;
AwtTest () {
btn = new Button("버튼");
lbl = new Label("라벨");
ta = new TextArea("TextArea", 5, 20); // 5행, 20열
tf = new TextField("TextField", 20); // 20칸
cb1 = new Checkbox("체크박스1");
cb2 = new Checkbox("체크박스2");
choice = new Choice();
list = new List(3,true); // 보여지는것은 2개이고 다중선택은 true로 지정
}
void display() {
setLayout(new FlowLayout()); // 컴포넌트 배치 설정
add(btn);
add(lbl);
add(ta);
add(tf);
add(cb1);
add(cb2);

choice.add("초록"); // 콤보박스에 항목 추가
choice.add("빨강");
choice.add("파랑");
add(choice);
list.add("봄"); // 리스트박스에 항목 추가
list.add("여름");
list.add("가을");
list.add("겨울");
add(list);
pack();
setVisible(true);
}
public static void main(String args[]) {
AwtTest myFrame = new AwtTest();
myFrame.display();
}
}








댓글 없음:

댓글 쓰기