コンポーネントにマウスが入ったときに、マウスカーソルの形を変える方法(JDK 1.4.1)
・ソース
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
/**
* マウスカーソルを変えるテスト
*/
public class MouseCursor {
/**
* main メソッド
* @param args コマンドラインからの引数
*/
public static void main(String[] args) {
MouseCursorFrame frame = new MouseCursorFrame();
frame.setSize(100, 100);
frame.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
System.exit(0);
}
});
frame.setVisible(true);
}
}
/**
* フレーム
*/
class MouseCursorFrame extends Frame {
/** ボタン */
private Button button;
/** 普通のカーソル */
private Cursor normalCursor = Cursor.getDefaultCursor();
/** 手の形のカーソル */
private Cursor jumpCursor = new Cursor(Cursor.HAND_CURSOR);
/** マウスアダプタ */
private MouseAdapter mouseAdapter = new MouseAdapter() {
/**
* コンポーネントにマウスが入ると呼び出されます
*/
public void mouseEntered(MouseEvent e) {
// カーソルを手の形にします
setCursor(jumpCursor);
}
/**
* コンポーネントからマウスが出ると呼び出されます
*/
public void mouseExited(MouseEvent e) {
// カーソルを普通の形にします
setCursor(normalCursor);
}
};
/**
* コンストラクタ
*/
public MouseCursorFrame() {
setLayout(new FlowLayout());
// ボタンにマウスアダプタをつけて表示します
button = new Button("Test Button");
button.addMouseListener(mouseAdapter);
add(button);
}
}
・実行結果
ボタン上にマウスが入るとカーソルの形が変わります。