JComponent 클래스

 

최상위 컨테이너를 제외하고는 거의 모든 컴포넌트가 JComponent를 상속받는다.

 

- JComponent 클래스에는 스윙 컴포넌트들이 공통적으로 가져야 하는 속성과 메소드가 포함되어 있다.

 

- JComponent 클래스는 ComponentContainer 클래스를 상속받는다.


- Component 클래스는 화면 그리기이벤트 처리 기능을 제공한다.


Container 클래스는 컴포넌트 추가 및 제거 기능레이아웃 기능을 제공한다


- 이 기능들은 스윙 컴포넌트들도 모두 사용할 수 있다.

 

 

 

컴포넌트의 외관 변경 메소드


메소드

설명

void setBorder(Border border)

Border getBorder()

컴포넌트의 경계를 설정하거나 반환한다.

void setForeground(Color color)

Color getForeground()

컴포넌트의 전경색을 설정하거나 반환한다.

void setBackground(Color color)

Color getBackground()

컴포넌트의 배경색을 설정하거나 반환한다.

void setFont(Font font)

Font getFont()

컴포넌트의 폰트를 설정하거나 반환한다.

void setCursor(Cursor cursor)

Cursor getCursor()

컴포넌트의 커서를 설정한다.

 

 

 

컴포넌트의 상태 변경 메소드


메소드

설명

void setToolTipText(String text)

툴팁에 표시되는 텍스트를 설정한다

툴팁 : 컴포넌트에 마우스를 두면 표시됨

void setName(String name)

String getName()

컴포넌트의 이름을 설정하거나 반환한다.

boolean isShowing()

컴포넌트가 화면에 표시되고 있으면 true, 표시되지 않으면 false를 반환한다.

void setEnabled(boolean enabled)

boolean isEnabled()

컴포넌트의 활성화 여부를 설정하고 반환한다.

void setVisible(boolean visible)

boolean isVisible()

컴포넌트를 화면에 표시할지를 설정하고 표시 여부를 반환한다.

 

 

 

공통 이벤트 처리 메소드


메소드

설명

void addMouseListener(MouseListener mouseListener)

마우스 리스너를 추가한다.

void removeMouseListener(MouseListener mouseListener)

마우스 리스너를 제거한다.

void addActionListener(ActionListener actionListener)

액션 리스너를 추가한다.

void removeActionListener(ActionListener actionListener)

액션 리스너를 제거한다.

...

각 리스너마다 메소드가 addXXXX(), removeXXXX() 형태로 존재한다.




▶ 컴포넌트 그리기 메소드


메소드

설명

void repaint()

void repaint(int x1, int y1, int x2, int y2)

컴포넌트의 일부나 전체를 다시 그리라고 요청한다.

void revalidate()

컨테이너 안의 컴포넌트를 다시 배치하라고 요청한다.

void paintComponent(Grpahics g)

컴포넌트를 그린다. 만약 사용자 맞춤형 컴포넌트에서는 이 메소드를 오버라이딩(재정의)하여서 그림을 그린다.



 

컨테이너에 컴포넌트 추가 및 제거 메소드


메소드

설명

Component add(Component component)

컴포넌트를 컨테이너에 추가한다.

void remove(Component component)

컨테이너에서 컴포넌트를 삭제한다.

 void removeAll()

컨테이너의 모든 컴포넌트를 삭제한다.

Container getParent()

컴포넌트가 추가된 컨테이너를 반환한다.




▶ 레이아웃 메소드

 

메소드

설명

int getWidth()

int getHeight()

해당 컴포넌트의 너비와 높이를 픽셀 단위로 반환한다.

Dimension getSize()

해당 컴포넌트의 크기를 픽셀 단위로 반환한다.

int getX()

int getY()

부모 컨테이너를 기준으로 컴포넌트의 상대적인 x좌표, y좌표를 반환한다.

Point getLocation()

부모 컨테이너 안에서의 상대적인 위치를 반환한다.

Point getLocationOnScreen()

모니터 화면에서의 절대 위치를 반환한다.

void setLocation(int x, int y)

void setLocation(Point point)

부모 컨테이너 안에서의 컴포넌트의 좌표를 지정하며, 배치 관리자가 없는 경우에만 유효하다.

void setBounds(int x, int y, int width, int height)

부모 컨테이너 안에서의 컴포넌트의 위치와 크기를 설정한다. 배치 관리자가 없는 경우에만 유효하다.



 

크기와 위치 정보 얻는 메소드


메소드

설명

void setPreferredSize(Dimension dimen)

void setMaximumSize(Dimension dimen)

void setMinimunSize(Dimension dimen)

컴포넌트의 크기, 최소 크기, 최대 크기를 설정한다.

void setAlignmentX(float x)

void setAlignmentY(float y)

컨테이너 안에서의 컴포넌트들의 정렬을 지정한다.

void setLayout(LayoutManager)

LayoutManager getLayout()

배치 관리자를 설정하거나 반환한다.






 

 

ActionEvent

 

컴포넌트에 구체적인 동작이 일어났을 때 발생하는 이벤트로 버튼을 클릭하는 동작이 있다.

 

- ActionEvent를 받기 위해서는 ActionListener 인터페이스를 구현하여야 한다.


ActionEvent 클래스

 생성자

 ActionEvent(Object source, int id, String command)

 매개변수로 컴포넌트의 이벤트 소스(source)와 이벤트 동작을 식별하는 id값, 이벤트 동작을 나타내는 command값을 받아 초기화한다.

 ActionEvent(Object source, int id, String command,                                                   int modifiers)

 ActionEvent의 구체적인 수정키를 추가로 초기화한다.

 ActionEvent(Object source, int id, String command,                                    long when, int modifiers)

 ActionEvent의 구체적인 수정키들과 시간을 추가로 초기화한다.

필드

(변화 키)

 public static final int SHIFT_MASK

 이벤트가 일어나는 동안 쉬프트 키(Shift)가 눌러짐을 나타냄

 public static final int CTRL_MASK

 컨트롤 키(Ctrl)가 눌러짐을 나타낸다.

 public static final int META_MASK

 메타 키(Meta)가 눌러짐을 나타낸다.

 public static final int ALT_MASK

 알트 키(Alt)가 눌러짐을 나타낸다.

 public static final int ACTION_FIRST

 이벤트 동안에 이용되는 id의 범위 중 첫번째 순서

 public static final int ACTION_LAST

 이벤트 동안에 이용되는 id의 범위 중 마지막 순서

 public static final int ACTION_PERFORMED 이벤트 동작이 발생했다는 것을 나타냄

 메소드

 String getActionCommand() 해당 동작과 관련있는 커맨드 문자열을 반환한다.
 int getModifiers()

 ActionEvent가 일어나는 동안 변화 키들을 리턴한다.

 long getWhen() ActionEvent가 일어났을 때의 시간을 반환한다.
 String paramString()

 ActionEvent를 식별하는 문자열을 반환한다.


ActionListener 인터페이스

 메소드

설명 

 void actionPerformed(ActionEvent e) { }

 ActionEvent의 동작들을 처리한다. 



 

KeyEvent

 

사용자가 키보드를 이용하여 입력을 하는 경우에 발생한다


- KeyEvent가 발생하려면 컴포넌트가 반드시 키보드 포커스를 가지고 있어야 한다. 키보드 포커스를 얻으려면 requestFocus() 라는 메소드를 사용한다. 또한 KeyEvent 클래스는 InputEvent 클래스를 상속받는다.

 

-KeyEvent를 받기 위해서는 KeyListener를 구현하여야 한다.


KeyListener 인터페이스

메소드

설명

void KeyTyped(KeyEvent e) { }

사용자가 글자를 입력했을 경우에 호출

void KeyPressed(KeyEvent e) { }

사용자가 키를 눌렀을 경우에 호출

void KeyReleased(KeyEvent e) { }

사용자가 키에서 손을 떼었을 경우에 호출


KeyEvent 클래스

메소드

설명

int getKeyChar() { }

KeyEvent에 들어있는 글자(유니코드)

반환한다.

int getKeyCode() { }

KeyEvent에 들어있는 키코드(keycode)를 반환한다. 키코드란 글자가 아니라 키보드 자판의 각각의 키를 가리키는 상수이다.

예를 들어, Escape 키의 키코드는 VK_ESCAPE로 정의되어 있다.

boolean isActionKey() { }

이벤트를 발생시킨 키가 액션 키이면 true를 반환한다. 액션 키란 Cut, Copy, Paste, Page Up, Caps Lock, 화살표와 function 키를 의미한다.

 

InputEvent 클래스

메소드

설명

int getID() { }

이벤트의 타입을 반환한다.

MouseEvent.MOUSE_PRESSED, MouseEvent.MOUSE_RELEASED

MouseEvent.MOUSE_CLICKED

Component getComponent { }

이벤트를 일으킨 컴포넌트를 반환한다. getSource()를 사용하여도 된다.

, getSource()로 얻은 것은 해당 컴포넌트로 강제 타입변환 해주어야 한다.

int getWhen() { }

이벤트가 발생한 시각을 반환한다.

boolean isAltDown() { }

boolean isControlDown() { }

boolean isMetaDown() { }

boolean isShiftDown() { }

이벤트가 발생한 시각에 키보드의 수식키들의 상태를 반환한다.




MouseEvent & MouseMotionEvent

 

- Mouse 이벤트는 사용자가 마우스를 조작하는 경우에 발생한다.


- MouseEvent는 많은 메소드를 InputEvent 클래스에서 상속받는다. InputEvent 클래스의 메소드도 사용할 수 있다.


- MouseEvent를 받기 위해서는 MouseListener를 구현하여야 한다.

 

MouseListener 인터페이스

메소드

설명

void mouseClicked(MouseEvent e)

사용자가 컴포넌트를 클릭한 경우에 호출된다.

void mouseEntered(MouseEvent e)

마우스 커서가 컴포넌트로 들어가면 호출된다.

void mouseExited(MouseEvent e)

마우스 커서가 컴포넌트에서 나가면 호출된다.

void mousePressed(MouseEvent e)

마우스가 컴포넌트 위에서 눌려지면 호출된다.

void mouseReleased(MouseEvent e)

마우스가 컴포넌트 위에서 떼어지면 호출된다.



MouseEvent 클래스

메소드

설명

int getClickCount()

빠른 연속적인 클릭의 횟수를 반환한다.

int getX()

int getY()

Point getPoint()

이벤트가 발생했을 당시의 (x, y)위치를 반환한다위치는 컴포넌트에 상대적이다.

int getXOnScreen()

int getYOnScreen()

int getLocationOnScreen()

절대 좌표값 (x, y)을 반환한다이들 좌표값은 가상 화면에 상대적이다.

int getButton()

어떤 마우스 버튼의 상태가 변경되었는지를 반환한다

NOBUTTON, BUTTON1, BUTTON2, BUTTON3 중의 하나이다.


- MouseEvent로 마우스의 움직임을 추적하는 것은 시스템적으로 영향을 끼치므로 마우스가 이동하는 경우에만 따로 이벤트를 받도록 한다.


MouseMotionListener 인터페이스

메소드

설명

void mouseDragged(MouseEvent e)

마우스로 드래그하면 호출된다.

void mouseMoved(MouseEvent e)

마우스가 클릭되지 않고 이동하는 경우에 호출.







+ Recent posts