关于鼠标点击坐标的一种解决方案
来源:2-10 鼠标事件

码海剑齿鲨
2024-06-14
bobo老师好,
看到提问区和评论区同学遇到的问题,我也遇到相同的情形——更改pack()和resize()顺序后,通过translatePoint,仍然左上角坐标非(0,0)而有偏移
通过如下代码可解决:
event.translatePoint(-(frame.getBounds().width - frame.getCanvasWidth())/2,
-(frame.getBounds().height - frame.getCanvasHeight()) + (frame.getBounds().width - frame.getCanvasWidth())/2)
环境:win10系统,java8
解决过程:
- 通过frame.getBounds().width 、frame.getCanvasWidth()、frame.getBounds().height、frame.getCanvasHeight() 的返回值查看实际值情况
- 发现窗体左右与pane的两侧都有距离,而且距离刚好是 (窗体宽度-画布宽度)/2
- 发现除了上方加了menubar, 画布下侧与窗体边缘同样有距离,猜测与左右距离一致,验证也确实如此
不确定这个添加是哪一部分进行的,但是对于window10系统,java8可以解决
bobo老师的可视化课程虽然是很久前录制的,但是放在现在依旧实用,还是能给人很多启发,同时能对算法的理解更深入,非常谢谢bobo老师
希望这个解决方案能让一部分继续学习这门课程的伙伴们顺利实践这小节的内容
写回答
1回答
-
liuyubobobo
2024-06-14
大赞!感谢你的分享:)
继续加油!:)
00
相似问题