Swing中paint,paintComponent和paintComponent之间的差异

问题描述 投票:28回答:2

在Java Swing中paint()paintComponent()paintComponents()之间的实际区别是什么?

我试图了解Oracle文档中的解释,但不清楚。

java swing paintcomponent
2个回答
37
投票
  • AWT,覆盖paint()
  • 摆动顶层容器(例如JFrameJWindowJDialogJApplet ..),请覆盖paint()。但是涂漆有很多充分的理由。也许是一个单独问题的主题。Swing的其余部分(从JComponent派生的
  • 任何组件
  • ),重写paintComponent()既不覆盖也不显式调用paintComponents(),将其留给API以在需要时调用它。
  • [重写方法时,请务必也使用@Override表示法。

这样做将提示试图覆盖paintComponent(..)中的JFrame的问题(它没有这种方法),这很常见。

17
投票
您可能有兴趣阅读Painting in AWT and Swing
© www.soinside.com 2019 - 2024. All rights reserved.