Java 的 JPanel 子类中重写父类的 paint 方法 会被自动调用,请问调用的条件或时机
Java的JPanel子类中重写父类的paint方法会被自动调用,请问调用的条件或时机是什么百度提问有字数限制,原代码字数超了,所以截图,大家看看...
Java 的 JPanel 子类中重写父类的 paint 方法 会被自动调用,请问调用的条件或时机是什么
百度提问有字数限制,原代码字数超了,所以截图,大家看看 展开
百度提问有字数限制,原代码字数超了,所以截图,大家看看 展开
- 你的回答被采纳后将获得:
- 系统奖励15(财富值+成长值)+难题奖励20(财富值+成长值)
2个回答
展开全部
组件被显示的时候调用
主动调用组件的repaint方法是被调用
主动调用组件的repaint方法是被调用
更多追问追答
追问
自动调用的时机呢,我创建了一个JPanel对象,paint方法该在构造函数的执行完之后被调用,可是我的paint方法中有一个对象是在另一个方法action中创建的,而调用action的语句我是写在了创建JPanel对象之后的,运行是成功的,而且我用输出语句测试了下,是先调用了JPanel的构造方法,其次是action方法,最后才是paint方法
追答
构造函数在对象被创建的时候调用时一定的,但是paint函数是不一定会被调用的。
当你将JPanel的对象加入到顶层组件,顶层组件在显示自己的时候,会去调用它的子组件的paint方法来绘制,最终显示出来。
也就是说,JPanel如果没有被显示,是不会去调用paint方法。【另,窗口不会去显示被其他组件遮挡的JPanel】
因此,如果你是在组建显示之前调用的action,那么action就是比paint先执行。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询