Container c 是什么?JFrame frame = new JFrame();Container c = frame.getContentPane();第一名new JFrame不就是创建容器吗?那c具体是什么?起到什么作用呢?

来源:学生作业帮助网 编辑:六六作业网 时间:2024/12/19 23:31:24
Containerc是什么?JFrameframe=newJFrame();Containerc=frame.getContentPane();第一名newJFrame不就是创建容器吗?那c具体是什么

Container c 是什么?JFrame frame = new JFrame();Container c = frame.getContentPane();第一名new JFrame不就是创建容器吗?那c具体是什么?起到什么作用呢?
Container c 是什么?
JFrame frame = new JFrame();
Container c = frame.getContentPane();
第一名new JFrame不就是创建容器吗?那c具体是什么?起到什么作用呢?

Container c 是什么?JFrame frame = new JFrame();Container c = frame.getContentPane();第一名new JFrame不就是创建容器吗?那c具体是什么?起到什么作用呢?
JFrame 是继承自Container,所以Containter有的属性和方法JFrame都会有,但JFrame不仅仅是个Containter,只有容器方面的功能是从Containter里来的,他还有其他很多功能.理论上Contain c=frame.getContentPane()的c都可以用frame来代替,但如果所有的操作都在frame上操作就会很紊乱.比如说有个Layout 叫CardLayout.可以frame.setLayout(cardLayout)你可以有多个frame.add();但在切换标签里就得用cardLayout.next(frame);这时你就觉得和我们平时习惯不一样了,怎么我只有一个frame,哪来的next.而如果改成frame.setLayout(cardLayout),而标签用多个c.add();切换时用cardLayout.next(c);这样就习惯多了.即使是frame.add()其实也是他所包含容器在使用的add()方法