gpt4 book ai didi

java - 如何在 Swing 中只重绘脏区域?

转载 作者:行者123 更新时间:2023-11-29 04:25:54 26 4
gpt4 key购买 nike

  1. 重绘脏区只会提高性能吗?

  2. 如果答案是肯定的,该怎么做?最初我使用 repaint() 来调用 paintComponent(Graphics);然而,最近我意识到 repaint() 实际上是 repaint(0,0,width,height),它每次都会重绘所有内容。如果我使用带有参数的 repaint() 来指定脏区域,它会以什么方式将这些数据传递给 paintComponent(Graphics)?

最佳答案

If I use repaint() with parameters to specify the dirty region, in what way will it pass such data to paintComponent(Graphics)?

“剪辑边界”或 Graphics 对象将被设置到指定区域

1.Does repainting dirty region only improve performance?

为什么?你有绘画问题吗?不要微优化代码,除非你有理由这样做。代码将更难维护和调试。您将添加额外的逻辑来确定哪些区域需要重新绘制。

此外,请记住多个重绘请求会合并为一个请求。因此,如果您请求重绘组件的左上角和立即请求重绘底部/右侧,这两个请求将合并到一个包含两个区域的区域,这意味着将重绘整个组件.所以你白白做了额外的工作。

关于java - 如何在 Swing 中只重绘脏区域?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46331181/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com