자바 AWT 컴포넌트 Cursor 클래스

자바 AWT 컴포넌트 Cursor 클래스


java.awt.Cursor


  • . Cursor클래스는 말 그대로 커서의 모양을 관리하는 클래스이다.
    Cursor의 모양 static 필드에는 CROSSHAIR_CURSOR, CUSTOM_CORSOR, DEFAULT_CURSOR,
    E_RESIZE_CURSOR, HAND_CURSOR, MOVE_CURSOR, N_RESIZE_CURSOR, NE_RESIZE_CURSOR
    NW_RESIZE_CURSOR, S_RESIZE_CURSOR, SE_RESIZE_CURSOR, SW_RESIZE_CURSOR,
    TEXT_CURSOR, W_RESIZE_CURSOR, WAIT_CURSOR 가 있다
  • . Cursor의 객체
    Cursor cursor = new Cursor(Cursor.MOVE_CURSOR);
    커서 클래스를 적용할 수 있는 메서드는 java.awt.Component 클래스의 setCursor(Cursor cursor)가 있다.

ex )

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
import java.awt.*;

public class Round17_Ex02 {
public static void main(String[] ar) {
Round17_Ex02_Sub round = new Round17_Ex02_Sub();
}
}

class Round17_Ex02_Sub extends Frame {
private Dimension dimen, dimen1;
private int xpos, ypos;
private Label lb1 = new Label("Test");
private Label lb2 = new Label("Test1");

public Round17_Ex02_Sub() {
super("제목넣기");
// Frame을 상속받았기 때문에 super로 상위 상속자 호출
this.init();
this.start();
this.setSize(300, 200);
// Frame을 상속받아 this의 메소드 호출한다 가로300, 세로 200의 Frame세팅
dimen = Toolkit.getDefaultToolkit().getScreenSize();
// 화면의 스크린 가로/세로 스크린 사이즈를 가져온다
dimen1 = this.getSize();
// Frame의 가로/세로 스크린 사이즈를 가져온다
xpos = (int) (dimen.getWidth() / 2 - dimen1.getWidth() / 2);
// 정중앙의 x값을 구한다 화면의 가로 사이즈를 2로 나눈값과 Frame의 가로 사이즈를 2로
// 나눈값을 뺀다 그럼 정중앙의 x값을 구한다
ypos = (int) (dimen.getHeight() / 2 - dimen1.getHeight() / 2);
// 정중앙의 y값을 구한다 화면의 세로 사이즈를 2로 나눈값과 Frame의 세로 사이즈를 2로
// 나눈값을 뺀다 그럼 정중앙의 y값을 구한다
this.setLocation(xpos, ypos);
// Frame의 띄울 위치를 x값과 y값으로 띄울 위치를 설정한다.
this.setVisible(true);
// 화면에 보이게 한다
}

public void init() {
// 화면 구성 넣을 부분
Cursor cursor = new Cursor(Corsor.HAND_CURSOR);
// Cursor객 체를 생성한다 HAND_CORSOR을 선언
Cursor cursor1 = new Cursor(Cursor.WAIT_CURSOR);
// CURSOR 객체를 선언한다 WAIT_CURSOR를 선언한다.
this.setCursor(cursor);
// this 즉 Frame의 커서를 세팅한다
FlowLayout flow = new FlowLayout();
// FlowLayout 객체를 선언한다
this.setLayout(flow);
// Frame의 레이아웃을 세팅한다
lb1.setCursor(cursor1);
// lb1에 커서를 세팅한다 WAIT_CURSOR
lb1.setBackground(Color.yellow);
// lb1의 백그라운드를 노란색으로 바꾼다
this.add(lb1);
// lb1을 add시킨다.
}

public void start() {
// Event나 Thread 처리할 부분
}
}

Share