SWT Tips and Samples 基礎編 > Cursor

 

Cursor

CursorはOSのマウスポインタを示します。ウィジェットごとにControlクラスのsetCursorメソッドでカーソルオブジェクトを指定することができます。ウィジェットの上にポインタが来ると指定した形状のカーソルが表示されます。

Label label = new Label(...);
...
Cursor cursorHand = new Cursor(display, SWT.CURSOR_HAND);
label.setCursor(cursorHand);
...
cursorHand.dispose();

なお生成したCursorオブジェクトは、忘れずにdisposeしておきましょう。

カーソルの形状をCursorコンストラクタで指定しますが、カーソルのイメージはOSに依存します。以下のリストは、Windows2000でのカーソルイメージと定数をまとめた表です。

CURSOR_AROW (0) CURSOR_SIZENS (7)
CURSOR_SIZEN (10)
CURSOR_SIZES (11)
CURSOR_WAIT (1) CURSOR_SIZENWSE (8)
CURSOR_SIZESE (15)
CURSOR_SIZENW (17)
CURSOR_CROSS (2) CURSOR_SIZEWE (9)
CURSOR_SIZEEE (12)
CURSOR_SIZEW (13)
CURSOR_APPSTARTING (3) CURSOR_UPARROW (18)
CURSOR_HELP (4) CURSOR_IBEAM (19)
CURSOR_SIZEALL (5) CURSOR_NO (20)
CURSOR_SIZESW (6)
CURSOR_SIZENE (14)
CURSOR_SIZESW (16)
CURSOR_HAND (21)

下のサンプルプログラムは、ラベルにハンドカーソルを設定したものです。ポインタがラベルの上に来ると、ハンドカーソルに変わるのが分かると思います。

スクリーンショット

ソースコード (CursorTest.java)

import org.eclipse.swt.widgets.*;
import org.eclipse.swt.SWT;
import org.eclipse.swt.graphics.Cursor;
import org.eclipse.swt.layout.*;

public class CursorTest {

        public static void main(String[] args) {
                new CursorTest();
        }
        public CursorTest() {
                Display display = new Display();
                Shell shell = new Shell(display);
                shell.setText("CursorTest");
                shell.setLayout(new RowLayout());
                
                Cursor handCursor = new Cursor(display, SWT.CURSOR_HAND);
                
                Label label = new Label(shell, SWT.BORDER);
                label.setLayoutData(new RowData(100,50));
                label.setText("Label");
                label.setCursor(handCursor);

                shell.pack();
                shell.open();
                while (!shell.isDisposed()) {
                        if (!display.readAndDispatch()) {
                                display.sleep();
                        }
                }
                handCursor.dispose();
                display.dispose();
        }
}


最新更新日: 2004年9月1日
 
関連リンク
Eclipse API ドキュメント

- PR -

プレゼンテーション作成ソフト無料お試し版配信中

【Sony】大手他社よりも安い!ビジネス向け光・100Mしかも固定IP付!今なら更に初期費用最大15,000円OFF!

オフィス用品・オフィス家具 価 格 交 渉 可! 
◎ 目指せ★業界最安値 ★ ◎ オフィネット・ドットコム株式会社

注文から納品まで驚きの早さ!!【ASKULカタログ】はこちらから・・・

マイクロソフト お得な見積! まとめての購入ならオトクな方法で。ライセンスだから管理も簡単。


Copyright(C) 2003,2004 Jasmin Project. All Right Reserved.
SEO [PR] 爆速!無料ブログ 無料ホームページ開設 無料ライブ放送