【发布时间】:2011-06-14 08:20:17
【问题描述】:
“AWT 和 Swing 中的绘画”文档说明如下。
“如果在处理初始重绘请求之前在一个组件上发生了多次 repaint() 调用,则多个请求可能会合并为一次 update() 调用。”
是否可以在组件中更改此行为,以便多次调用重绘永远不会合并为一次调用?
编辑:文档进一步说明了这一点,“确定何时应折叠多个请求的算法取决于实现。”
我的问题是我在一个单独调用重绘的移动平台上,我试图在桌面上复制该行为。
【问题讨论】:
-
您为什么要这样做?听起来您正在更新绘画方法中的状态......这听起来像一个真的坏主意。
-
为什么要改变这种行为?这似乎是处理积压的重绘调用的最佳方式。致aioobe:这正是我的想法,他的程序逻辑出现在paint方法中。
-
为您的移动设备获取一个模拟器,而不是尝试在另一个实现中复制它。它永远不会在那里表现得完全一样。 (理想情况下,您的代码不应依赖于对
update或paint()或paintComponent()的调用次数。)