设置Java图形界面的按钮指针图标

一、本文目的

用Java的Swing图形框架来设置按钮的Cusor图标;


二、技术要点

1、每个组件有setCursor(Cursor cursor)方法来设置鼠标指针;
2、JDK官方有Toolkit工具类来创建自定义的指针对象;


三、代码如下

import javax.swing.*;
import java.awt.*;

public class CursorTest {

    public static void main(String[] args) {
        // 1、定义窗口对象
        JFrame frame = new JFrame("鼠标图标");

        // 2、定义面板对象
        JPanel panel = new JPanel();

        // 3、定义按钮对象,名字为"手"
        JButton test_01 = new JButton("手");
        
        // 4、设置该按钮的指针类别
        test_01.setCursor(new Cursor(Cursor.HAND_CURSOR));

        JButton test_02 = new JButton("文本");
        test_02.setCursor(new Cursor(Cursor.TEXT_CURSOR));

        JButton test_03 = new JButton("等待");
        test_03.setCursor(new Cursor(Cursor.WAIT_CURSOR));

        JButton test_04 = new JButton("十字箭头");
        test_04.setCursor(new Cursor(Cursor.CROSSHAIR_CURSOR));

        JButton test_05 = new JButton("移动箭头");
        test_05.setCursor(new Cursor(Cursor.MOVE_CURSOR));

        JButton test_06 = new JButton("调整箭头");
        test_06.setCursor(new Cursor(Cursor.E_RESIZE_CURSOR));

        JButton test_07 = new JButton("自定义");
        test_07.setCursor(getCursor());

        // 5、把每个按钮加入到JPanel面板里
        panel.add(test_01);
        panel.add(test_02);
        panel.add(test_03);
        panel.add(test_04);
        panel.add(test_05);
        panel.add(test_06);
        panel.add(test_07);

        // 6、把面板对象加入JFrame窗口里
        frame.add(panel);

        // 7、设置窗口的宽度为500像素,高度为400像素
        frame.setSize(500, 400);

        // 8、设置窗口在屏幕的坐标为(250, 450)
        frame.setLocation(250, 450);

        // 9、设置窗口可以看见
        frame.setVisible(true);

        // 10、设置窗口默认的关闭行为:退出运行
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }

    /**
     * 获取自定义的鼠标图标
     * @return
     */
    public static Cursor getCursor(){

        // 1、获取Toolkit工具类对象
        Toolkit toolkit = Toolkit.getDefaultToolkit();

        // 获取图片对象
        // 类路径的图片路径:/img/my.jpg
        Image image = toolkit.getImage(CursorTest.class.getResource("/img/my.jpg"));
        
        // 相对鼠标指针的坐标
        Point point = new Point(1, 1);
        
        // 图标名字
        String text = "名字";

        // 2、根据图片、偏移坐标、名字创建鼠标图标对象
        Cursor customCursor = toolkit.createCustomCursor(image, point, text);

        // 3、返回
        return customCursor;
    }
}


四、运行案例

1、窗口在这里插入图片描述

2、当鼠标放置在按钮上
等待的效果:
在这里插入图片描述
自定义指针图片:
在这里插入图片描述
此时出现了自定义图片在指针附近。

  • 6
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值