采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
按照老师的方式测试了一下,仍然存在x+3 和y-3的偏移,修改如下正常:
e.translatePoint(-3, -(frame.getBounds().height - frame.getCavasHeight()) + 3);
关于兼容性问题的解决方案可以参考这里:http://coding.imooc.com/learn/questiondetail/26420.html
印象里我已经将课程的官方代码修改了,可以在你的环境下尝试一下运行课程的官方代码,看是否有同样的问题?https://git.imooc.com/coding-138/coding-138
继续加油!:)
complete code还是有问题哦,老师代码里没有设置先setResizable(false);再pack();然而就算是这样,还是存在3的偏移
如果你确定你使用课程的代码还有问题,那我就不确定是什么原因了。你是第一个报告这个问题的同学,我在 windows 环境下也无法复现这个问题,或许还有其他兼容性问题吧。但是,道理上,处理兼容性问题,不应该硬编码一个 3,因为近乎可以肯定,在不同的系统下,不可能永远都有 3 的偏差。你这样修改代码,一定只是和你的系统相关的修改策略。
对,毕竟有点强迫症
真巧,在我这台电脑上是x+7,y-7。
使用官方下载的代码也是一样。
然后setResizable(false)和pack()换位置依然没有变化。
在我这里这个问题可能与外接的显示器有关,我接的显示器跟笔记本的分辨率不一样。 两块屏幕的时候偏移是+7,-7 去掉外接显示器只用笔记本的时候变成了+7,-49 真是奇怪的问题/滑稽
登录后可查看更多问答,登录/注册
课程重应用、重实践、重思维,真正应用于实际工作开发中
2.7k 1
891 6
798 5
910 5
903 5