有没有办法让mouseDragged Event更频繁地调用(在我的情况下,绘制一个颜色?我需要它用于平滑绘图,因为现在,如果你移动太快,它不会画出我所有的路径此外,我有一个2D数组存储像素的颜色,所以如果我试图通过另一种方式解决问题也是有问题的,这就是为什么我认为增加mouseDragged Frequency将是最好的事情
谢谢
答案 0 :(得分:1)
如果想要平滑绘图,则可能需要自己插入数据。如果你得到一个事件在(3,3)和另一个在(10,10),你可以计算两者之间的斜率,并迭代鼠标必须被拖动的逻辑点从(3,3)到(10,10)
我不知道一种强制mouseDragged更快更新的方法,例如,如果系统处于高负载状态,或者有人使用触摸屏,那么无论如何都可能会出现巨大的跳跃。
答案 1 :(得分:0)
如果要将椭圆绘制为彩色线条,请更改为线条:
ArrayList<> colors;
mousepressed(Event e) {
startPoint = e.getPoint();
}
mousedragged(Event e) {
colors.add(new Color(startPoint, e.getPoint);
startPoint = e.getPoint();
}
class Color() {
Color(Point start, Point end) {
// ...
}
paint(Graphics g) {
g.drawLine(start, end);
}
}