关于setContentPane()和getContentPane()的应用

我们可以在 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=new  JPanel();
    ……//把其它组件添加到Jpanel中;
    frame.setContentPane(contentPane);
    //把contentPane对象设置成为frame的内容面板

ContentPane相关推荐

  1. java中实现选择文件_Java 实现文件选择对话框及功能

    时间:2018-10-02 概述:文件选择器 Java实现文件选择器,就是大家熟悉的打开文件.选择文件的对话框,本例子分为两部分来进行,一个部分是选择器对话框构建部分,另一部分是文件过滤部分,用于过滤 ...

  2. XMPP通讯开发-好友获取界面设计

    在XMPP通讯开发-服务器连接 中我们成功连接到服务器上面,然后进入到主界面,接下来就是获取好友列表,这里我们分段开发,首先就是界面的设计,这里仿照QQ好友界面,里面的数据先是用模拟的,下一章获取服务 ...

  3. java做个简单的登录界面_java一个简单的登录界面制作

    展开全部 import java.awt.EventQueue; import javax.swing.JFrame; import javax.swing.JPanel; import javax. ...

  4. java gettext_JAVA中getText()怎么从一个JTextArea中读出内容?

    想先创建一个JTextArea,然后在里面输入内容(几个字母),然后用getText读出里面的内容,可是好像只能是先在JTextArea里面写,然后getText才能读出,而不能先运行,在图形界面的J ...

  5. Java项目:星际争霸游戏(java+swing+awt界面编程+IO输入输出流+socket+udp网络通信)

    源码获取:博客首页 "资源" 里下载! 功能简介: 星际争霸游戏项目,该项目实现了单人模式和多人合作模式,可记录游戏进度,新建游戏,载入历史记录等功能,多人模式下可以创建一个区,然 ...

  6. Java项目:无库版银行管理系统(java+Gui+文档)

    源码获取:博客首页 "资源" 里下载! 功能介绍: 注册用户.编辑用户.删除用户.存取款.查看流水 存入业务处理: public class depositFrame extend ...

  7. Java项目:银行管理系统+文档Java基础Gui(java+Gui)

    源码获取:博客首页 "资源" 里下载! 功能介绍: 登录.打印.取款.改密.转账.查询.挂失.存款.退卡 服务模块: public class atmFrame extends J ...

  8. Swing 实现聊天系统 私发与群发

    该系统使用的了socket.swing相关知识,实现了一个简单的群聊和私聊的系统. 1.程序界面功能展示 服务端swing界面展示 客户端服务展示 用户上线与发送消息客户端与服务端 私发消息 相关代码 ...

  9. Swing布局管理器介绍

    当选择使用JPanel和顶层容器的content pane时,需要考虑布局管理.JPanel缺省是初始化一个FlowLayout,而content pane缺省是初始化一个BorderLayout. ...

最新文章

  1. maven setting.xml配置说明
  2. Git安装以及操作过程
  3. 文本分类入门(番外篇)特征选择与特征权重计算的区别
  4. TP5与TP3.X对比
  5. Ubuntu18.04提示wifi无法连接
  6. so文件成品评论【整理】
  7. mysql数据库导出导入设置编码
  8. Android问题-selection contains a component,button7,introduced in an ancestor and cannot be deleted....
  9. SpringAop+Mybatis 实现动态切换数据库操作
  10. otool 分析Mach-O
  11. mummer基因组共线性分析详解
  12. Java 算法之三色旗
  13. 瀑布流网站数据如何采集解决思路方法
  14. 华为MA5626-8密码恢复
  15. 多重积分积分区域奇偶对称性化简积分
  16. GitHub下载 无法分配请求的地址_Hexo+Github--搭建个人博客(一)准备工作amp;amp;环境搭建
  17. 现在AR/VR机会很少,可能全都是泡沫之互联网创业分析!
  18. Java SE基础(十六)集合
  19. vs2019创建EF的时候 系统找不到指定的路径
  20. 手把手教你用ESP32 制作一个游戏机,小白可上手

热门文章

  1. 造血干细胞最新研究进展
  2. [笔记]OpenAirInterface 基础版5G核心网从零开始搭建
  3. ATX 690 旋飞换卡飞 7速升级8速 21速升24速 方法
  4. Android实现图片放大缩小
  5. LED驱动电源有几种保护方式
  6. createGiottoVisiumObject从10x原始数据创建 giotto对象
  7. python面试 --基础题
  8. 最新VMware Workstation 9.0 / Player 5.0 / Fusion 5.0/VMware Tools 9.2.0 不同平台正式版下载
  9. SpringCloud项目中无法识别bootstrap.yml的问题
  10. MOOC人工智能原理学习笔记4——有信息搜索