我在使用 java 类项目时遇到问题。第一步是绘制图案,所以我想,这并不难。事实并非如此,但有一件事确实困扰着我。首先,检查下面的屏幕截图:
我的问题是这是在没有释放鼠标的情况下完成的,因此绘图应该是连续的。相反,里面有漏洞。我认为这与鼠标事件的传输方式有关,但我不知道如何调整它。
绘图区是一个JPanel。有一组点用于在鼠标事件上绘制容器。按添加第一个点,拖动其他点,释放后清除绘图区域。
希望我说得足够具体。感谢您的宝贵时间!
编辑:忘记了代码。 http://pastebin.com/RyXiGsvm
最佳答案
StanislavL 是对的,鼠标移动/鼠标拖动事件不会为鼠标光标移动到的每个像素生成。你为什么不想使用线路呢?如果问题是结果丑陋且锯齿状,您可以考虑使用三次样条线。 GeneralPath.curveTo 提供了一种简单的方法来做到这一点。如果获得正确的控制点很痛苦,您还可以使用 GeneralPath.quadTo;这是一个二次近似,看起来不太好,但您可以轻松地从 mouseDrags 传递最后三个点。
关于java - 绘图/绘图不连续(涉及鼠标事件),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5564444/