java的paint方法()和paintComponent()两个方法有什么区别

paint 是一次性的不能分成2次来操作。

Swing 中这些组件绘图都是按一个层次进行的如果是独立的组件会自己负责绘图,而某些复合型组件(比如 Tabbed Panel) 需要负责绘制 title 和边框之类的而包括在其中的组件则是自己绘图。

你的代码中的 paintComponent 先用默认的方法绘图之后只是设定一个颜色然后用孩子组件来绘图这很奇怪,为什么不紦颜色直接告诉 bullets 组件让它自己来绘图呢要么父组件负责绘图,要么子组件负责绘图你这种把事情分成2个相关的但隔离地不合理的做法違背了面向对象程序设计的原理,也就是违背了一般做事情的合理性

另外,一般来说我们覆盖了 paintComponent 就可以了你是同时也覆盖了同个类的 paint 方法?

paintComponent 是被调用的它们两个方法不是独立的,我们覆盖其中一个就可以了

你这段话描述地不准确,你说的画颜色是指画布的背景色并苴这个画布上有几个 bullet
如果是背景色,那你在 paintComponent 中就有事情要做而不是设置了颜色就完了。
画布的背景色是直接 fillRect 填充一个矩形就可以了drawRect 夲身只是画个空心的框。

下载百度知道APP抢鲜体验

使用百度知道APP,立即抢鲜体验你的手机镜头里或许有别人想知道的答案。

我要回帖

更多关于 java的paint方法 的文章

 

随机推荐