-
[JAVA/SWT] 다른 Thread 에서 Cursor 모양 변경하는 방법JAVA/SWT 2021. 6. 3. 11:30728x90
SWT 에서 UI Thread 가 아닌 다른 Thread 로 돌리면서 Cursor 모양을 변경하는 방법에 대해 알아보겠다
1. 새로운 Operation Class 에 setCursor 함수를 정의한다
Opartaion Class 에서는 UI 클래스를 인자로 가지고 있어야한다
private void setCursor(final int intClass) { Display.getDefault().asyncExec(new Runnable() { @Override public void run() { if(UI클래스 != null) { UI클래스.getShell().setCursor(new Cursor(Display.getDefault(), intClass)); } } }); }
2. Operation 함수 내에서 cursor 를 바꾸고자하는 곳에 setCursor() 함수를 사용한다
setCursor(1); // 1 = SWT.CURSOR_WAIT (골뱅이 모양) setCursor(0); // 0 = SWT.CURSOR_ARROW (화살표 기본 커서 모양)
여기서 중요한 점은 UI 와 다른 Thread 에 있을 때 display 와 꼭 sync 를 맞춰줘야 한다는 점이다!
그렇지 않으면 Thread Error 가 남으로 필수로 적용해야한다
728x90728x90'JAVA > SWT' 카테고리의 다른 글
[JAVA/SWT] Table Header 클릭으로 Table 정렬하는 방법 (0) 2021.06.04 Dialog 생성 시 기본으로 생기는 Ok, Cancel 버튼 사용 및 Custom (0) 2021.05.14 GridLayout 에서 가로로 꽉 차게 하는 법(horizontal fill) (0) 2020.10.12