java - 绘图/绘图不连续(涉及鼠标事件)

标签 java swing

我在使用 java 类项目时遇到问题。第一步是绘制图案,所以我想,这并不难。事实并非如此,但有一件事确实困扰着我。首先,检查下面的屏幕截图:

Screenshot

我的问题是这是在没有释放鼠标的情况下完成的,因此绘图应该是连续的。相反,里面有漏洞。我认为这与鼠标事件的传输方式有关,但我不知道如何调整它。

绘图区是一个JPanel。有一组点用于在鼠标事件上绘制容器。按添加第一个点,拖动其他点,释放后清除绘图区域。

希望我说得足够具体。感谢您的宝贵时间!

编辑:忘记了代码。 http://pastebin.com/RyXiGsvm

最佳答案

StanislavL 是对的,鼠标移动/鼠标拖动事件不会为鼠标光标移动到的每个像素生成。你为什么不想使用线路呢?如果问题是结果丑陋且锯齿状,您可以考虑使用三次样条线。 GeneralPath.curveTo 提供了一种简单的方法来做到这一点。如果获得正确的控制点很痛苦,您还可以使用 GeneralPath.quadTo;这是一个二次近似,看起来不太好,但您可以轻松地从 mouseDrags 传递最后三个点。

关于java - 绘图/绘图不连续(涉及鼠标事件),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5564444/

相关文章:

java - 为什么构造函数中 getHeight() 和 getWidth() 返回 0?我该如何避免这种情况?

异常处理

java - 来自 InputStream 的 JProgressBar

Java Swing/JFrame 监听器

java - 如何检测用户是否单击窗口标题栏或 Java 中窗口边框的任何其他部分

java - getComponentAt() 找不到组件?

java - 使用Gauss-Legendre算法在java中逼近Pi

java - 如何使用 jsoup 从具有多个类的 td 获取数据

java : Using Static Method for obtaining Database Connection

java - gui 窗口不会在 netbeans java 中显示