paint画图问题 问什么我在用paint(Graphics g) 画直线的时候,直线与鼠标的位置总是差一段?具体说就是 我用鼠标画直线,鼠标点第一次获得直线的第一个点,移动到另一处松开鼠标获得第二个点。但为什么画出的直线并不是我鼠标所走的路线呢? 总是和鼠标有一段小距离。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 应该是和鼠标的热点hotspot有关吧,至于什么是鼠标热点可参考http://topic.csdn.net/u/20080627/06/166d0be4-4ed2-417e-b026-b99b839ccb92.html 楼主可利用java.awt.Toolkit中的createCustomCursor方法创建自定义鼠标,把热点自己设置一下应该就可以了public Cursor createCustomCursor(Image cursor, Point hotSpot, String name) throws IndexOutOfBoundsException, HeadlessException创建一个新的自定义光标对象。如果要显示的图像无效,则隐藏光标(使其完全透明),并将热点 (hotspot) 设置为(0,0)。 注意,多帧图像是无效的,可能造成此方法被挂起。 参数:cursor - 激活光标时要显示的图像hotSpot - 大光标热点的 X 和 Y 坐标;hotSpot 值必须小于 getBestCursorSize 返回的 Dimensionname - 光标的本地化描述,用于 Java Accessibility 抛出: IndexOutOfBoundsException - 如果 hotSpot 值超出光标边界 HeadlessException - 如果 GraphicsEnvironment.isHeadless() 返回 true从以下版本开始: 1.2 另请参见:GraphicsEnvironment.isHeadless() 代码改一下,contentPane和JFrame的size是不同的,你差的那部分是frame的size减去contentPane的size的大小 /*Container contentPane=getContentPane(); contentPane.addMouseListener(this); contentPane.addMouseMotionListener(this); */ this.addMouseListener(this); this.addMouseMotionListener(this); Class和Class<?>有什么区别? java程序员的未来 String类型的对象是常量应该怎么理解 java到底有什么好?? java中怎么得到音频文件的播放时间等头信息 jre 和 jvm 有什么区别? 在applet在另一台计算机上的浏览器中运行时不能与在本机运行的java应用程序建立socket通信,为什么?? 一个简单的问题 请问子类异常能不能被父类异常捕获? java中用什么方法调用外部可执行文件? 有关从文件中读出数据并与已知数据做比较的问题!谢谢 关于JAVA类加载双亲委派的迷惑,讲清楚直接给分
public Cursor createCustomCursor(Image cursor,
Point hotSpot,
String name)
throws IndexOutOfBoundsException,
HeadlessException创建一个新的自定义光标对象。如果要显示的图像无效,则隐藏光标(使其完全透明),并将热点 (hotspot) 设置为(0,0)。
注意,多帧图像是无效的,可能造成此方法被挂起。
参数:
cursor - 激活光标时要显示的图像
hotSpot - 大光标热点的 X 和 Y 坐标;hotSpot 值必须小于 getBestCursorSize 返回的 Dimension
name - 光标的本地化描述,用于 Java Accessibility
抛出:
IndexOutOfBoundsException - 如果 hotSpot 值超出光标边界
HeadlessException - 如果 GraphicsEnvironment.isHeadless() 返回 true
从以下版本开始:
1.2
另请参见:
GraphicsEnvironment.isHeadless()
contentPane.addMouseListener(this);
contentPane.addMouseMotionListener(this); */
this.addMouseListener(this);
this.addMouseMotionListener(this);