Abh*_*ary 27 java swing paintcomponent
是什么之间的实际差异paint(),paintComponent()以及paintComponents()在的Java Swing?
我试图理解Oracle文档中解释的内容,但我不清楚.
And*_*son 36
paint().JApplet,JFrame,JWindow,JDialog.),覆盖paint().但是有一些很好的理由不在 TLC中绘画.也许是一个单独问题的主题.paintComponent().paintComponents(),将其留给API以在需要时调用它.@Override重写方法时,请务必使用表示法.
这样做会暗示试图覆盖问题paintComponent(..)的JFrame(它有没有这样的方法),这是很常见的.
Avr*_*rom 17
您可能有兴趣阅读AWT和Swing中的绘画
报价:
适用于AWT轻量级组件的规则也适用于Swing组件 - 例如,paint()在渲染时被调用 - 除了Swing进一步将paint()调用因子分解为三个独立的方法,这些方法在以下顺序:
protected void paintComponent(Graphics g)
protected void paintBorder(Graphics g)
protected void paintChildren(Graphics g)
Run Code Online (Sandbox Code Playgroud)
Swing程序应该覆盖paintComponent()而不是覆盖paint().虽然API允许它,但通常没有理由覆盖paintBorder()或paintComponents()(如果你这样做,请确保你知道你正在做什么!).这种因子使程序更容易仅覆盖它们需要扩展的部分绘画.例如,这解决了前面提到的AWT问题,其中调用super.paint()失败阻止了任何轻量级子代出现.
| 归档时间: |
|
| 查看次数: |
28668 次 |
| 最近记录: |