javaswing表格和树课件_第1页
javaswing表格和树课件_第2页
javaswing表格和树课件_第3页
javaswing表格和树课件_第4页
javaswing表格和树课件_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Version 3.0你的潜力,我们的动力!你的潜力,我们的动力!襄樊软件学院襄樊软件学院 你的潜力,我们的动力!你的潜力,我们的动力!襄樊软件学院襄樊软件学院2 Swing 菜单由菜单由 JMenubar、JMenuitem 和和 JMenu 组成组成 创建创建 JMenuBar 的实例可生成菜单。的实例可生成菜单。 JPopupMenu 可显示在屏幕的任何地方可显示在屏幕的任何地方 JCheckBoxMenuItem 和和 JRadioButtonMenuItem 用于实现菜单栏中的用于实现菜单栏中的复选框和单选按钮复选框和单选按钮 JOptionPane 类用于显示对话框类用于显示对话框

2、 你的潜力,我们的动力!你的潜力,我们的动力!襄樊软件学院襄樊软件学院3 运用运用 JTable 运用运用 JTree 你的潜力,我们的动力!你的潜力,我们的动力!襄樊软件学院襄樊软件学院4 以表格方式维护大量数据比以列表方式更以表格方式维护大量数据比以列表方式更加方便加方便 使用使用 Swing 中的中的 JTable 类可以创建表类可以创建表 JTable对存储数值数据非常有用 显示数据并且允许用户对其进行编辑 它不存储数据,只提供数据的呈现方式 你的潜力,我们的动力!你的潜力,我们的动力!襄樊软件学院襄樊软件学院5JTable jTable1 = new JTable(); 实例化 JT

3、able 控件后将生成代码 你的潜力,我们的动力!你的潜力,我们的动力!襄樊软件学院襄樊软件学院6Object cells = Java,new Integer(01),new Integer(400), Oracle,new Integer(02),new Integer(500), C#,new Integer(03),new Integer(700), ; String colnames=课程名称,课程编号,学费(元);以下代码用于添加行和列 你的潜力,我们的动力!你的潜力,我们的动力!襄樊软件学院襄樊软件学院7JTable jTable1 = new JTable(cells,colu

4、mns); 使用二维对象数组来传递构造函数以填充 JTable 实例 你的潜力,我们的动力!你的潜力,我们的动力!襄樊软件学院襄樊软件学院8 运行该工程运行该工程 此时创建的表无表头此时创建的表无表头 要显示表头,请单击要显示表头,请单击“Design”选项卡选项卡 选定该表,右击其中的表头属性选定该表,右击其中的表头属性 单击关联菜单中的单击关联菜单中的“Expose as Class level variable”选选项项 此时将显示表头此时将显示表头 运行该工程运行该工程 为表头设置属性为表头设置属性 你的潜力,我们的动力!你的潜力,我们的动力!襄樊软件学院襄樊软件学院9 JTableH

5、eader 用于设置表头用于设置表头例:例:JTableHeader jh1=new jTable1.getTableHeader(); 你的潜力,我们的动力!你的潜力,我们的动力!襄樊软件学院襄樊软件学院101、创建二维对象数组和一维字符串数组用于填充表和一维字符串数组用于填充表格的行和列以及表头格的行和列以及表头例:例:object cells=“张三张三”,new Integer(20),”男男”, “李四李四”,new Integer(25),”女女”String colnames=“姓名姓名”,”年龄年龄”,”性别性别”2、初始化、初始化JTable实例实例JTable 表格对象名表

6、格对象名=new JTable(对象数组对象数组,字符串数组字符串数组);例:例:JTable jTable1=new JTable(cells,colnames);/该表格无表头该表格无表头3、设置表头、设置表头(通过表格类的方法通过表格类的方法 getTableHeader()获得获得表头表头)JTableHeader jTableHeader1=jTable1.getTableHeader(); 你的潜力,我们的动力!你的潜力,我们的动力!襄樊软件学院襄樊软件学院114、将表格和表头分别添加至容器、将表格和表头分别添加至容器 你的潜力,我们的动力!你的潜力,我们的动力!襄樊软件学院襄樊软

7、件学院12 setCellSelectionEnabled(boolean cellSelectionEnabled) 设置此表是否允许同时存在行选择和列选设置此表是否允许同时存在行选择和列选择。择。 void setGridColor(Color gridColor) 将用来绘制网格线的颜色设置为将用来绘制网格线的颜色设置为 gridColor 并重新显示它。并重新显示它。 void setSelectionBackground(Color selectionBackground) 设置选定单元格的背景色。设置选定单元格的背景色。 你的潜力,我们的动力!你的潜力,我们的动力!襄樊软件学院襄樊

8、软件学院13 以下代码将在以下代码将在“Source”选项卡中自动生成选项卡中自动生成 package tabledemo;import java.awt.BorderLayout;import java.awt.Dimension;import javax.swing.JFrame;import javax.swing.JPanel;import javax.swing.JTable;import java.awt.*;import javax.swing.*;import javax.swing.table.JTableHeader;public class TableFrame exte

9、nds JFrame JPanel contentPane; Object cells = Java,new Integer(01),new Integer(400), Oracle,new Integer(02),new Integer(500), C#,new Integer(03),new Integer(700), ; String colnames=课程名称,课程编号,学费(元); JTable jTable1 = new JTable(cells, colnames); JTableHeader jTableHeader1 = jTable1.getTableHeader(); p

10、ublic TableFrame() try setDefaultCloseOperation(EXIT_ON_CLOSE); jbInit(); catch (Exception exception) exception.printStackTrace(); /* *初始化组件. * * throws java.lang.Exception */private void jbInit() throws Exception contentPane = (JPanel) getContentPane(); contentPane.setLayout(null); setSize(new Dime

11、nsion(400, 300); setTitle(欢迎使用 JTable); jTable1.setBackground(Color.yellow); jTable1.setBorder(null); jTable1.setGridColor(Color.black); jTable1.setSelectionBackground(Color.orange); jTable1.setBounds(new Rectangle(11, 29, 251, 161); jTableHeader1.setBackground(Color.pink); jTableHeader1.setBounds(n

12、ew Rectangle(10, 10, 252, 20); contentPane.add(jTableHeader1); contentPane.add(jTable1); 用户输入代码以添加行和列 你的潜力,我们的动力!你的潜力,我们的动力!襄樊软件学院襄樊软件学院14 树状图以垂直的分层结构方式描述信息树状图以垂直的分层结构方式描述信息 Windows 资源管理器或文件管理器用树状结构来描述资源管理器或文件管理器用树状结构来描述文件和文件夹文件和文件夹 使用使用 JTree 类可在类可在 Java 中创建这些结构中创建这些结构 树层次结构中的每一行称为一个节点树层次结构中的每一行称为一

13、个节点 每个树都有一个根节点,可由这个根节点展开所有节每个树都有一个根节点,可由这个根节点展开所有节点点 节点包含实际的数据节点包含实际的数据 需要导入相关的包需要导入相关的包:Import javax.swing.jtree;Import javax.swing.tree.*; 你的潜力,我们的动力!你的潜力,我们的动力!襄樊软件学院襄樊软件学院15叶节点节点上不包含节点 节点上下都包含节点 节点下不包含节点 节点类型枝节点根节点 你的潜力,我们的动力!你的潜力,我们的动力!襄樊软件学院襄樊软件学院16JTree jTree1 = new JTree();实例化 JTree 控件以后可生成以

14、下代码 你的潜力,我们的动力!你的潜力,我们的动力!襄樊软件学院襄樊软件学院17JTree(Hashtable ht);JTree(Object obj );JTree(TreeNode tn);JTree(Vector v);第三个构造方法接收一个 TreeNode 对象。该对象本身可以是 JTree 组件,也可以是DefaultMutableTreeNode 类的对象。用户可以使用DefaultMutableTreeNode 对象来实现自定义的JTree用于构建 JTree 的构造方法 你的潜力,我们的动力!你的潜力,我们的动力!襄樊软件学院襄樊软件学院181、创建根节点、创建根节点Def

15、aultMutableTreeNode root = new DefaultMutableTreeNode(根节点根节点);2、创建枝节点、创建枝节点DefaultMutableTreeNode parent = new DefaultMutableTreeNode(书籍书籍);3、创建叶节点、创建叶节点DefaultMutableTreeNode leaf = new DefaultMutableTreeNode(java);4、将叶节点添加至枝节点、将叶节点添加至枝节点枝节点对象名枝节点对象名.add(叶节点叶节点); parent.add(leaf); 你的潜力,我们的动力!你的潜力,我

16、们的动力!襄樊软件学院襄樊软件学院195、将枝节点添加至根节点、将枝节点添加至根节点根结点对象名根结点对象名.add(枝节点枝节点) root.add(parent);6、初始化树实例(构造树对象)、初始化树实例(构造树对象)JTree jtree1=new JTree(root);7、将树对象添加至容器、将树对象添加至容器 你的潜力,我们的动力!你的潜力,我们的动力!襄樊软件学院襄樊软件学院20 自定义树结构的代码片段自定义树结构的代码片段./ 创建根节点DefaultMutableTreeNode root = new DefaultMutableTreeNode(根节点);/ 创建枝节点

17、DefaultMutableTreeNode parent = new DefaultMutableTreeNode(书籍);DefaultMutableTreeNode leaf = new DefaultMutableTreeNode(java);/ 将叶节点添加至枝节点parent.add(leaf)/ 将枝节点添加至根节点root.add(parent);jTree2 = new JTree(root);contentPane.add(jTree2);. 你的潜力,我们的动力!你的潜力,我们的动力!襄樊软件学院襄樊软件学院21public void jTree2_valueChange

18、d(TreeSelectionEvent e) try DefaultMutableTreeNode node = (DefaultMutableTreeNode) jTree2.getLastSelectedPathComponent(); String name = ; Object nodeInfo = node.getUserObject(); if(node.isRoot() txtName.setText(); txtNode.setText(nodeInfo.toString(); txtType.setText(根节点); txtNumber.setText(+node.get

19、ChildCount(); else name = node.getParent().toString(); txtName.setText(name); txtNode.setText(nodeInfo.toString(); if (node.isLeaf() txtType.setText(叶节点); else txtType.setText(“枝节点); int number = node.getChildCount(); txtNumber.setText( + number); catch (Exception ex) 你的潜力,我们的动力!你的潜力,我们的动力!襄樊软件学院襄樊软件学院22Object getLastSelectedPathComponent() 返回当前选择的第一个节点中的最后一个路径返回当前选择的第一个节点中的最后一个路径组件。组件。Int getChildCount() 返回此节点的子节点数。返回此节点的子节点数。TreeNode getFirstChild() 返回此节点的第一个子节点。返回此节点的第一个子节点。TreeNode getParent() 返回此节点的父节点,如果此节点没有返回此节点的父节点,如果此节点没有父节点,则返回父节点,则返回 null 你的潜力,我们的动力!你的潜力,我们的动力!襄樊软件学院襄樊软件学院2

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论