当前位置: 技术问答>java相关
在什么情况下重载paint()或paintComponent(),我不知道怎么办?
来源: 互联网 发布时间:2015-07-03
本文导语: JComponent中的paint(),paintComponent()方法,如果我想继承JPanel类,定制自己的图,但我不知道应该重载paint()还是重载paintComponent(),我查看JComponent的原代码,paint()方法采用回调的方法依次调用paintComponent()、paintBorder()、paint...
JComponent中的paint(),paintComponent()方法,如果我想继承JPanel类,定制自己的图,但我不知道应该重载paint()还是重载paintComponent(),我查看JComponent的原代码,paint()方法采用回调的方法依次调用paintComponent()、paintBorder()、paintChildren(),因此我就不明白重载paint()或paintComponent()有什么区别?在我的子类中都会用super.paint()或super.paintComponent(),因此我把定制图的CODE放在paint()或paintComponent()中,都一样会执行,但我不明白这样两种不同的做法有什么不一样?
谢谢大家的帮助!
谢谢大家的帮助!
|
你不已经说清楚了吧?paint()方法采用回调的方法依次调用paintComponent()、paintBorder()、paintChildren().
一个去调用另一个,这样明了的.paintComponent()只绘控件本身,而paint,则包括了整个控件上的所有控件.
一个去调用另一个,这样明了的.paintComponent()只绘控件本身,而paint,则包括了整个控件上的所有控件.
|
至于重载哪个更好,我认为,最好都重载.也按JComponent的方式来实现.因为当你的控件被第三方使用时,他会按 JComponent 的使用方法来使用你的的控件.
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。