java自定义鼠标形状
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java自定义鼠标形状相关的知识,希望对你有一定的参考价值。
import javax.swing.JFrame;
import java.awt.*;
public class test extends JFrame
public test()
try
this.getContentPane().setCursor(Cursor.getSystemCustomCursor("src/arrow40.cur"));
catch(Exception e)
this.setSize(640, 500); //窗口大小为640*500
this.setVisible(true); //窗口可见
setDefaultCloseOperation(EXIT_ON_CLOSE);
public static void main(String[] args)
test m=new test();
这是我写的一个测试类,可是鼠标形状并没有变化,如何才能按照我规定的鼠标资源文件自定义鼠标形状呢?
谢谢你这么帮助我,可惜我用Eclipse运行还是出不来,这次连鼠标都没了。。。
1.自定义个类扩展Cursor,重写Cursor的方法:
class MyCursor extends Cursor
public MyCursor(int n)
super(n);
static public Cursor getSystemCustomCursor(final String name)
throws AWTException, HeadlessException
Toolkit toolkit = Toolkit.getDefaultToolkit();
Image image = toolkit.getImage(name);
return toolkit.createCustomCursor(
image, new Point(0, 0), "myCursor");
2.在你的程序中:
try
String ico = "D:\\myCursor.gif";//你图标的位置
this.setCursor(MyCursor.getSystemCustomCursor(ico));
catch(Exception ae)
-------------------------------------------------------------------
在你的基础上改成下面这个样子就可以了
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import java.awt.*;
public class test extends JFrame
public test()
try
this.getContentPane().setCursor(getMyCursor());
catch (Exception e)
this.setSize(640, 500); // 窗口大小为640*500
this.setVisible(true); // 窗口可见
setDefaultCloseOperation(EXIT_ON_CLOSE);
public static void main(String[] args)
test m = new test();
public Cursor getMyCursor()
Image img = new ImageIcon(test.class.getResource("arrow40.cur")).getImage();
return this.getToolkit().createCustomCursor(img,new Point(16,16),"mycursor");
参考技术A 大概要用到两个方法
一个是设置鼠标样式
setCursor(java.awtCursor.getPredefinedCursor(java.awtCursor.DEFAULT_CURSOR));
一个是建创鼠标样式
public Cursor createCursor(Image img,String name)
return this.getToolkit().createCustomCursor(img,new Point(16,16),name);
以上是关于java自定义鼠标形状的主要内容,如果未能解决你的问题,请参考以下文章
我连鼠标光标都是爱你的形状——MATLAB自定义光标及png转化为光标数组