JFrame 的结构层次图
2014-07-31 10:47
302 查看
现在我们再来看另一张图,从模型的角度来看 JFrame 的层次:
可以看出,其实 ContentPane 是添加在 LayeredPane 上的一个控件。
而 LayeredPane 和 GlassPane 是直接添加在 RootPane 上的,
RootPane 直接添加在 JFrame 上。
其实你只要记住:
1、你现在不再需要去 getContentPane(),
2、ContentPane 默认是一个 JPanel ,
这两个结论就可以了……
我们可以在
JFrame
对象中添加
AWT
或者
Swing
组件。但是,
虽然它有
add
方法,却不能直接用于添加组件,否则会抛出异常
——
不信就试试。造成这个现象的原因只有一个解释:
JFrame
不是
一个容器,它只是一个框架。那么,应该怎么添加组件呢?
JFrame
有一个
Content Pane
,窗口能显示的所有组件都是添
加在这个
Content Pane
中。
JFrame
提供了两个方法:
getContentPane
和
setContentPane
就是用于获取和设置其
Content Pane
的。
对
JFrame
添加组件有两种方式:
1)
用
getContentPane()
方法获得
JFrame
的内容面板,
再对其加
入组件:
frame.getContentPane().add(childComponent)
2)
建立一个
Jpanel
或
JDesktopPane
之类的中间容器,把组件
添加到容器中,
用
setContentPane()
方法把该容器置为
JFrame
的内
容面板:
Jpanel contentPane=newJpanel();
……
//
把其它组件添加到
Jpanel
中
;
frame.setContentPane(contentPane);
//
把
contentPane
对象设置成为
frame
的内容面板
我们可以在
JFrame
对象中添加
AWT
或者
Swing
组件。但是,
虽然它有
add
方法,却不能直接用于添加组件,否则会抛出异常
——
不信就试试。造成这个现象的原因只有一个解释:
JFrame
不是
一个容器,它只是一个框架。那么,应该怎么添加组件呢?
JFrame
有一个
Content Pane
,窗口能显示的所有组件都是添
加在这个
Content Pane
中。
JFrame
提供了两个方法:
getContentPane
和
setContentPane
就是用于获取和设置其
Content Pane
的。
对
JFrame
添加组件有两种方式:
1)
用
getContentPane()
方法获得
JFrame
的内容面板,
再对其加
入组件:
frame.getContentPane().add(childComponent)
2)
建立一个
Jpanel
或
JDesktopPane
之类的中间容器,把组件
添加到容器中,
用
setContentPane()
方法把该容器置为
JFrame
的内
容面板:
Jpanel contentPane=newJpanel();
……
//
把其它组件添加到
Jpanel
中
;
frame.setContentPane(contentPane);
//
把
contentPane
对象设置成为
frame
的内容面板
我们可以在 JFrame 对象中添加 AWT 或者 Swing 组件。但是,虽然它有 add 方法,却不能直接用于添加组件,否则会抛出异常——不信就试试。造成这个现象的原因只有一个解释:JFrame 不是一个容器,它只是一个框架。那么,应该怎么添加组件呢? JFrame 有一个 Content Pane,窗口能显示的所有组件都是添加在这个 Content Pane 中。JFrame 提供了两个方法:getContentPane 和 setContentPane 就是用于获取和设置其 Content Pane
的。
对JFrame添加组件有两种方式:
1)用getContentPane()方法获得JFrame的内容面板,再对其加入组件:frame.getContentPane().add(childComponent)
2)建立一个Jpanel或JDesktopPane之类的中间容器,把组件添加到容器中,用setContentPane()方法把该容器置为JFrame的内容面板:
Jpanel contentPane=newJpanel(); ……//把其它组件添加到Jpanel中; frame.setContentPane(contentPane);
//把contentPane对象设置成为frame的内容面板
可以看出,其实 ContentPane 是添加在 LayeredPane 上的一个控件。
而 LayeredPane 和 GlassPane 是直接添加在 RootPane 上的,
RootPane 直接添加在 JFrame 上。
其实你只要记住:
1、你现在不再需要去 getContentPane(),
2、ContentPane 默认是一个 JPanel ,
这两个结论就可以了……
我们可以在
JFrame
对象中添加
AWT
或者
Swing
组件。但是,
虽然它有
add
方法,却不能直接用于添加组件,否则会抛出异常
——
不信就试试。造成这个现象的原因只有一个解释:
JFrame
不是
一个容器,它只是一个框架。那么,应该怎么添加组件呢?
JFrame
有一个
Content Pane
,窗口能显示的所有组件都是添
加在这个
Content Pane
中。
JFrame
提供了两个方法:
getContentPane
和
setContentPane
就是用于获取和设置其
Content Pane
的。
对
JFrame
添加组件有两种方式:
1)
用
getContentPane()
方法获得
JFrame
的内容面板,
再对其加
入组件:
frame.getContentPane().add(childComponent)
2)
建立一个
Jpanel
或
JDesktopPane
之类的中间容器,把组件
添加到容器中,
用
setContentPane()
方法把该容器置为
JFrame
的内
容面板:
Jpanel contentPane=newJpanel();
……
//
把其它组件添加到
Jpanel
中
;
frame.setContentPane(contentPane);
//
把
contentPane
对象设置成为
frame
的内容面板
我们可以在
JFrame
对象中添加
AWT
或者
Swing
组件。但是,
虽然它有
add
方法,却不能直接用于添加组件,否则会抛出异常
——
不信就试试。造成这个现象的原因只有一个解释:
JFrame
不是
一个容器,它只是一个框架。那么,应该怎么添加组件呢?
JFrame
有一个
Content Pane
,窗口能显示的所有组件都是添
加在这个
Content Pane
中。
JFrame
提供了两个方法:
getContentPane
和
setContentPane
就是用于获取和设置其
Content Pane
的。
对
JFrame
添加组件有两种方式:
1)
用
getContentPane()
方法获得
JFrame
的内容面板,
再对其加
入组件:
frame.getContentPane().add(childComponent)
2)
建立一个
Jpanel
或
JDesktopPane
之类的中间容器,把组件
添加到容器中,
用
setContentPane()
方法把该容器置为
JFrame
的内
容面板:
Jpanel contentPane=newJpanel();
……
//
把其它组件添加到
Jpanel
中
;
frame.setContentPane(contentPane);
//
把
contentPane
对象设置成为
frame
的内容面板
我们可以在 JFrame 对象中添加 AWT 或者 Swing 组件。但是,虽然它有 add 方法,却不能直接用于添加组件,否则会抛出异常——不信就试试。造成这个现象的原因只有一个解释:JFrame 不是一个容器,它只是一个框架。那么,应该怎么添加组件呢? JFrame 有一个 Content Pane,窗口能显示的所有组件都是添加在这个 Content Pane 中。JFrame 提供了两个方法:getContentPane 和 setContentPane 就是用于获取和设置其 Content Pane
的。
对JFrame添加组件有两种方式:
1)用getContentPane()方法获得JFrame的内容面板,再对其加入组件:frame.getContentPane().add(childComponent)
2)建立一个Jpanel或JDesktopPane之类的中间容器,把组件添加到容器中,用setContentPane()方法把该容器置为JFrame的内容面板:
Jpanel contentPane=newJpanel(); ……//把其它组件添加到Jpanel中; frame.setContentPane(contentPane);
//把contentPane对象设置成为frame的内容面板
相关文章推荐
- JFrame 的层次结构
- JFrame的层次结构究竟是什么样的,什么又是ContentPane()
- JFrame 的层次结构 及 背景设置说明
- JFrame的层次结构究竟是什么样的,什么又是ContentPane?
- JFrame的层次结构究竟是什么样的,什么又是ContentPane
- JFrame的层次结构
- Sharepoint学习笔记 –架构系列—Sharepoint的服务器端对象模型(Server Object Model) 2.内容层次结构
- 【Cuda并行编程之二】Cuda Memory Hierarchy_Cuda内存层次结构
- Android屏幕元素层次结构
- LB 负载均衡的层次结构
- 活动目录的层次结构
- Android屏幕元素层次结构
- 我的网站中的组织层次结构图信息与AD的同步问题
- 前端学习(4):javaScript权威指南第九章:BOM的层次结构
- Debian中的文件层次结构
- zstack的层次结构
- ios 调试显示视图view的层次结构
- 层次结构与展开/折叠
- CSAPP阅读笔记(3)-存储器层次结构
- 存储器系统的层次结构