1

在我的程序中设置动态组件时,我注意到每当组件(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在其事件前身之前处理?

4

0 回答 0