




已阅读5页,还剩21页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第十三章补充 表格和树 2 回顾 Swing菜单由JMenubar JMenuitem和JMenu组成创建JMenuBar的实例可生成菜单 JPopupMenu可显示在屏幕的任何地方JCheckBoxMenuItem和JRadioButtonMenuItem用于实现菜单栏中的复选框和单选按钮JOptionPane类用于显示对话框 3 本章目标 运用JTable运用JTree 4 JTable9 1 以表格方式维护大量数据比以列表方式更加方便使用Swing中的JTable类可以创建表 JTable 对存储数值数据非常有用 显示数据并且允许用户对其进行编辑 它不存储数据 只提供数据的呈现方式 5 JTable9 4 JTablejTable1 newJTable 实例化JTable控件后将生成代码 6 JTable9 5 Object cells Java newInteger 01 newInteger 400 Oracle newInteger 02 newInteger 500 C newInteger 03 newInteger 700 String colnames 课程名称 课程编号 学费 元 以下代码用于添加行和列 7 JTable9 6 JTablejTable1 newJTable cells columns 使用二维对象数组来传递构造函数以填充JTable实例 8 JTable9 7 运行该工程此时创建的表无表头要显示表头 请单击 Design 选项卡选定该表 右击其中的表头属性单击关联菜单中的 ExposeasClasslevelvariable 选项此时将显示表头运行该工程为表头设置属性 9 设置表头 JTableHeader用于设置表头例 JTableHeaderjh1 newjTable1 getTableHeader 10 创建表格步骤 1 创建二维对象数组和一维字符串数组用于填充表格的行和列以及表头例 object cells 张三 newInteger 20 男 李四 newInteger 25 女 Stringcolnames 姓名 年龄 性别 2 初始化JTable实例JTable表格对象名 newJTable 对象数组 字符串数组 例 JTablejTable1 newJTable cells colnames 该表格无表头3 设置表头 通过表格类的方法getTableHeader 获得表头 JTableHeaderjTableHeader1 jTable1 getTableHeader 11 4 将表格和表头分别添加至容器 12 方法 setCellSelectionEnabled booleancellSelectionEnabled 设置此表是否允许同时存在行选择和列选择 voidsetGridColor ColorgridColor 将用来绘制网格线的颜色设置为gridColor并重新显示它 voidsetSelectionBackground ColorselectionBackground 设置选定单元格的背景色 13 JTable9 9 以下代码将在 Source 选项卡中自动生成 packagetabledemo importjava awt BorderLayout importjava awt Dimension importjavax swing JFrame importjavax swing JPanel importjavax swing JTable importjava awt importjavax swing importjavax swing table JTableHeader publicclassTableFrameextendsJFrame JPanelcontentPane Object cells Java newInteger 01 newInteger 400 Oracle newInteger 02 newInteger 500 C newInteger 03 newInteger 700 String colnames 课程名称 课程编号 学费 元 JTablejTable1 newJTable cells colnames JTableHeaderjTableHeader1 jTable1 getTableHeader publicTableFrame try setDefaultCloseOperation EXIT ON CLOSE jbInit catch Exceptionexception exception printStackTrace 初始化组件 throwsjava lang Exception privatevoidjbInit throwsException contentPane JPanel getContentPane contentPane setLayout null setSize newDimension 400 300 setTitle 欢迎使用JTable jTable1 setBackground Color yellow jTable1 setBorder null jTable1 setGridColor Color black jTable1 setSelectionBackground Color orange jTable1 setBounds newRectangle 11 29 251 161 jTableHeader1 setBackground Color pink jTableHeader1 setBounds newRectangle 10 10 252 20 contentPane add jTableHeader1 contentPane add jTable1 用户输入代码以添加行和列 14 JTree 树状图以垂直的分层结构方式描述信息Windows资源管理器或文件管理器用树状结构来描述文件和文件夹使用JTree类可在Java中创建这些结构树层次结构中的每一行称为一个节点每个树都有一个根节点 可由这个根节点展开所有节点节点包含实际的数据需要导入相关的包 Importjavax swing jtree Importjavax swing tree 15 JTree的节点 叶节点 节点上不包含节点 节点上下都包含节点 节点下不包含节点 枝节点 根节点 16 JTree的缺省构造方法 JTreejTree1 newJTree 实例化JTree控件以后可生成以下代码 17 JTree的构造方法 JTree Hashtableht JTree Objectobj JTree TreeNodetn JTree Vectorv 第三个构造方法接收一个TreeNode对象 该对象本身可以是JTree组件 也可以是DefaultMutableTreeNode类的对象 用户可以使用DefaultMutableTreeNode对象来实现自定义的JTree 用于构建JTree的构造方法 18 步骤 1 创建根节点DefaultMutableTreeNoderoot newDefaultMutableTreeNode 根节点 2 创建枝节点DefaultMutableTreeNodeparent newDefaultMutableTreeNode 书籍 3 创建叶节点DefaultMutableTreeNodeleaf newDefaultMutableTreeNode java 4 将叶节点添加至枝节点枝节点对象名 add 叶节点 parent add leaf 19 步骤 5 将枝节点添加至根节点根结点对象名 add 枝节点 root add parent 6 初始化树实例 构造树对象 JTreejtree1 newJTree root 7 将树对象添加至容器 20 创建自定义的JTree 自定义树结构的代码片段 创建根节点DefaultMutableTreeNoderoot newDefaultMutableTreeNode 根节点 创建枝节点DefaultMutableTreeNodeparent newDefaultMutableTreeNode 书籍 DefaultMutableTreeNodeleaf newDefaultMutableTreeNode java 将叶节点添加至枝节点parent add leaf 将枝节点添加至根节点root add parent jTree2 newJTree root contentPane add jTree2 21 事件处理 publicvoidjTree2 valueChanged TreeSelectionEvente try DefaultMutableTreeNodenode DefaultMutableTreeNode jTree2 getLastSelectedPathComponent Stringname ObjectnodeInfo node getUserObject if node isRoot txtName setText txtNode setText nodeInfo toString txtType setText 根节点 txtNumber setText node getChildCount else name node getParent toString txtName setText name txtNode setText nodeInfo toString if node isLeaf txtType setText 叶节点 else txtType setText 枝节点 intnumber node getChildCount txtNumber setText number catch Exceptionex 22 方法 ObjectgetLastSelectedPathComponent 返回当前选择的第一个节点中的最后一个路径组件 IntgetChildCount 返回此节点的子节点数 TreeNodegetFirstChild 返回此节点的第一个子节点 TreeNodegetParent 返回此节点的父节点 如果此节点没有父节点 则返回null 23 方法 BooleanisLeaf 如果此节点没有子节点 则返回true booleanisRoot 如果此节点是树的根 则返回true 24 实现事件处理 要实现JTree类的事件处理 需要做如下操作1 实现TreeSelectionListener接口2 重写valu
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 45819-2025离心式液氢泵技术规范
- 2025年中国可水洗医用键盘行业市场全景分析及前景机遇研判报告
- 通信系统运行管理专业教学标准(高等职业教育专科)2025修订
- 2024-2025学年河北省名校联考高二下学期期中地理试题及答案
- 癌症康复期管理
- 麦肯锡培训课件
- 2025年中国钛网篮行业市场发展前景及发展趋势与投资战略研究报告
- 2023-2028年中国汉普夏猪行业发展监测及投资战略规划建议报告
- 通知发放培训课件
- 2025年中国旋风式除尘器市场运行态势及行业发展前景预测报告
- 2022年桂林市卫生学校教师招聘笔试题库及答案解析
- 栏杆安装单元工程施工质量验收评定表完整
- 光污染以及其控制
- T∕CSUS 04-2020 装配式磷石膏隔墙体技术标准-(高清版)
- (全新)政府专职消防员考试题库(完整版)
- 2022年广东省公务员考试申论真题及参考答案
- 美国治理猪蓝耳病的经验PRRS控制与清除策略ppt课件
- 建设项目工程总承包合同 GF—2020—0216
- 微波技术与天线 第5章
- 卫生监督协管试题库
- 钢灰库钢制灰库技术协议
评论
0/150
提交评论