我在自学过程中遇到以下问题,虽然简单,但是针对困扰我很久
希望能得到帮助:
1.JFrame有没有重写JComponent的setsize方法?
2.如果有,那为什么在JFrame的源代码里没有看到setsize方法?
3.为什么继承Jframe类的类中,构造方法里可以不加对象引用也不加
对象名而直接使用setsize等方法?、
4.为什么创建窗体时需要在构造方法里写各种代码而不是在其他普通方法里?
2条回答 默认 最新
关注 第一个问题,JFrame 是继承 Frame ,而 Frame 继承 Window ,只有 window 是有 setSize 方法的,而不是继承 JFComponnet 方法的。
setSize 这种基础功能,是由 Container 容器类实现的,没有必要再重写了。
第二个,可以在自己定义的继承自 JFrame 类中重写 setSize 方法。
第三个,一般自定义的继承自 JFrame 的类,需要提供丰富的组件,所以一般都是在构造函数中完成对组件对象的初始化工作,当然,如果没有需要复杂成员需要初始化,构造函数也可以不提供。
第四个,因为构造函数中初始化组件对象,然后才能在 JFrame 创建完成后调用 paint 绘图时将各个组件也绘制完成,如果不对自定组件初始化,自定义的 JFrame 中的组件就不会渲染了。本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报