getContentPane()

关于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的内容面板

本文摘录自网络文章 原文链接已丢失

  • 19
    点赞
  • 76
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
" " "课程设计报告 " "(本科) " " " "课程: "Java " " "学号: " " " "姓名: " " " "班级: " " " "教师: " " " "时间: "2014.11-2014.12 " " " " "计算机学院 " " " "设计名称: 仓库管理系统 " " " "设计内容、目的与要求: " " " "随着社会发展和人们生活水平、质量的提高,资源管理和派发日益显得重要" "和突出,从而仓库应之而出。如何更高效地管理仓库资源,成了仓库管理中" "的当务之急。本仓库管理系统主要对小型仓库而提出的软件管理系统,让用" "户可以通过本系统进行便捷和高效管理仓库。 " "使用JAVA和SQL SERVER 2005开发小型仓库管理系统,对小型仓库的信息资 " "源(商品、客户和供应商)、仓库物质动态(出库和进库)和基本的日常信" "息(仓库盘点和操作记录等)记录、管理和查询,并提供权限管理。本系统" "共分为个模块:基础信息管理、出入库管理、查询统计和系统管理。 " " " "计划与进度安排: " " " "2014年11月10号~2014年11月19号:完成基本设计思路。 " " " "2014年11月20号~2014年11月29号:查找资料、分析例题并作出基本构思。 " " " "2014年11月30号~2014年12月16号:完成程序设计、调试和修改。 " " " "2014年12月17号~2014年12月19号:修改并完成课程设计报告。 " " " "设计过程、步骤(可加页): " " " "一 开发与应用: " " " "本系统主要采用MyEclipse和SQL SERVER 2005编程开发应用于PC机。 " " " "二 程序结构图: " " " " " " " " " " " " " " " "三 实体ER图: " " " " " " " " " "四 部分建表和程序: " "1.1 系统中所用到的部分基本信息表及用途 " " " "表名 " "用途 " " " "dbo.tb_gysinfo " "供应商信息表 " " " "tb_spinfo " "商品信息表 " " " "dbo.tb_khinfo " "客户信息表 " " " "dbo.tb_kucun " "库存信息表用于库存盘点 " " " "tb_userlist " "操作员信息表用于登录程序 " " " "。。。。。。 " "。。。。。。。 " " " " " "1.2 系统中所用到的部分类及用途 " " " "类名 " "用途 " " " "JXCFrame.java " "系统主程序,程序的开始位置 " " " "Dao.java " "用于连接数据库和信息获取 " " " "Login.java " "系统登录界面 " " " "KuCunPanDian.java " "库存盘点 " " " "RuKuChaXun.java " "入口查询 " " " "。。。。。 " "。。。。。。 " " " " " "1.3 系统中所用到的主要方法及用途 " " " "方法名 " "用途 " " " "createFrameButton " "为内部窗体添加Action的方法 " " " "Dao " "连接数据库和获取信息 " " " "Login() " "设计系统登录界面 " " " "GysXiuGaiPanel() " "供应商信息添加 " " " "GysTianJiaPanel() " "供应商信息修改与删除 " " " "。。。。。。 " "。。。。。。 " " " " " "2.1.1 供应商信息表(dbo.tb_gysinfo) " " " " " " " "2.1.2 商品信息表(Dao.java) " " " " " " " "2.1.3库存信息表用于库存盘点(dbo.tb_kucun) " " " " " "2.2.1 系统主程序(JXCFrame.java)部分代码 " "public JXCFrame() { " "frame = new JFrame("仓库管理系统"); //获取对象 frame " "frame.getContentPane().setBackground(new Color(170, 188, 120)); " "//对 对象frame的容器设置背景颜色 " "frame.addComponentListener(new FrameListener()); " "frame.getContentPane().setLayout(new BorderLayout()); //对 对 " "象frame的容器设置??? " "frame.setBounds(100, 100,
图书管理系统数据库源代码 //创建工程及设计主界面 public class Main extends JFrame { private static final JDesktopPane { DESKTOP_PANE=new JDesktopPane(); //桌面窗体 } public static void main(String[] args) //入口方法 { try { UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); //设置系统界面外观 new BookLogin(); //登录窗口 } catch(Exception ex) { ex.printStackTrace(); } } public static void addIFame(JInternalFrame iframe) //添加子窗体的方法 { DESKTOP_PANE。add(iframe); //新增子窗体 } public Main() { super(); //设置"关闭"按钮处理事件 setDefaultCloseOperation(WindowConstants。EXIT_ON_CLOSE); //创建工具栏 Toolkit tool=Toolkit,getDefaultToolkit(); //获得屏幕大小 Dimension screenSize=tool.getScreenSize(); setSize(800,600); //设置窗体大小 setLocation((screenSize.width—getWidth())/2,(screenSize。height- getHeight())/2; //设置窗体位置 setTitle("图书管理系统"); //设置窗体标题 JMenuBar menuBar=createMenu(); //创建菜单栏 setJMenuBar(menuBar); //设置菜单栏 JToolBar toolBar=createToolBar(); //创建工具栏的方法 getContentPane(),add(toolBar,BorderLayout。NORTH); //设置工具栏 final JLable lable=new JLable(); //创建一个标签,用来显示图片 lable。setBounds(0,0,0,0); //设置窗体的大小和位置 lable。setIcon(null); //窗体背景 DESKTOP_PANE.addComponentListener(new ComponentAdapter()) { public void componentResized(final ComponentEvent e) { Dimension size=e。getComponent().getSize(); //获得组建大小 lable。setSize(e.getComponent().getSize()); //设置标签大小 lable.setText("〈html><img width="+size.width+"height="+size.height+"src='"+this.getClass().getResourc e("/backImg。jpg")+"'〉</html〉"); //设置标签文本,设置窗口背景 } } //将标签添加到桌面窗体 DESKTOP_PANE。add(lable,new Integer(Integer。MIN_VALUE)); getContentPane().add(DESKTOP_PANE); //将桌面窗体添加到主窗体中 } } private JToolBar createToolBar() //创建工具栏的方法 { JToolBar toolBar=new JToolBar(); //初始化工具栏 toolBar.setFloatable(false); //设置是否可以移动工具栏 toolBar.setBorder(new BevelBorder(BevelBorder。RAIZED)); //设置边框 //图书信息添加按钮 JButton bookAddButton=new JButton(MenuActions.BOOK_ADD); ImageIcon icon=new ImageIcon(Main.class.getResource("/bookAddtb.jpg")); //添加菜单栏图标 bookAddButton.setIcon(icon); //设置按钮图标 bookAddButton.setHideActionText(true); //显
1. 需求分析 为了实现对学生信息的统一管理及操作,及时对学生信息进行修改、增添和删除。 2. 总体设计 1. 系统主要功能:对学生的信息进行管理,如:插入学生信息、删除学生信息、修改学生 信息、查询学生信息。 2. 技术背景:本项目使用Java Swing技术,数据库采用SQLServer 2000,本项目的开发和测试都是在Windows平台下进行的,但由于Java的跨平台性,本 系的移植性很强,也适用于其它主流的操作系统。 3. 类图 图3.1类图 3. 详细设计 1. 用例图 用例图 功能级用例描述——添加学生信息 "描述项 "说明 " "用例名称 "添加学生信息 " "用例简述 "管理员添加学生的基本信息 " "用例图 " " "前置条件 "管理员已成功登入 " "后置条件 "学生信息被添加 " "基本操作流程 "1输入"学生姓名","学生学号","学生年龄",选择"学 " " "生性别" " " "2点击"提交"按钮 " " "3 "成功添加"点击"确定"或关闭窗口则返回主页面 " "替代流程 "无 " 功能级用例描述——查询学生信息 "描述项 "说明 " "用例名称 "查询学生信息 " "用例简述 "管理员查询学生的基本信息 " "用例图 " " "前置条件 "管理员已成功添加学生信息并成功登入查询页面 " "后置条件 "学生信息被查询 " "基本操作流程 "1输入需查找的"学生学号" " " "2点击"确定"按钮 " " "3 点击"返回"或关闭窗口则返回主页面 " "替代流程 "无 " 功能级用例描述——修改学生信息 "描述项 "说明 " "用例名称 "修改学生信息 " "用例简述 "管理员修改学生的基本信息 " "用例图 " " "前置条件 "管理员已成功查询所需修改学生信息 " "后置条件 "学生信息被修改 " "基本操作流程 "1输入需修改的"学生学号" 2点击"修改"按钮 " " "3 点击"返回"或关闭窗口则返回主页面 " "替代流程 "无 " 功能级用例描述——删除学生信息 "描述项 "说明 " "用例名称 "删除学生信息 " "用例简述 "管理员删除学生的基本信息 " "用例图 " " "前置条件 "管理员已成功查询所需修改学生信息 " "后置条件 "学生信息被删除 " "基本操作流程 "1输入需删除的"学生学号" " " "2点击"删除"按钮 " " "3 "删除成功"点击"确定"或关闭窗口则返回主页面 " "替代流程 "无 " 2、程序主要代码的实现 2.1StudentJFrame类,第一个界面(主界面)的建立 "package jframe; " "import java.awt.BorderLayout; " "import java.awt.event.*; " "public class StudentJFrame extends javax.swing.JFrame { " "private JPanel titlePanel; " "private JLabel titleLabel; " "private JButton jButton1; " "private JButton jButton4; " "private JButton jButton3; " "private JButton jButton2; " "private JPanel mainPanel; " "public static void main(String[] args) { " "SwingUtilities.invokeLater(new Runnable() { " "public void run() { " "StudentJFrame inst = new StudentJFrame(); " "inst.setLocationRelativeTo(null); " "inst.setVisible(true); " "} " "}); " "} " "public StudentJFrame() { " "super("学生选修课管理系统"); " "initGUI(); " "} " "private void initGUI() { " "try { " "setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE); " "getContentPane().setForeground(new java.awt.Color(0,0,255)); " "{ " "//标题Panel " "titlePanel = new JPanel(); " "getContentPane().add(titlePanel, BorderLa

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值