在我的程序中设置动态组件时,我注意到每当组件(JPanel)被重新定位时都会出现一些闪烁。因此,我使用以下方法在每个拖动事件中打印鼠标位置:
public void mouseDragged(MouseEvent e) {
System.out.println(e.getX());
}
它带来了一些有趣的结果。通过从左到右的正常速度拖动,我在控制台中得到以下输出:
49
47
...
55
53
58
56
61
59
64
62
67
65
70
65
73
68
76
71
79
74
...
97
92
100
95
103
95
106
随着跟踪的进行,您会注意到数字会随之上下波动。我之前通过抛出一些数学来解决这个问题,但现在我想知道为什么以及如何让它正常工作。是否在事件前任之前处理了某些MouseEvents
?