javaswing表格和树.ppt

上传人:sccc 文档编号:5598387 上传时间:2023-07-31 格式:PPT 页数:26 大小:804.51KB
返回 下载 相关 举报
javaswing表格和树.ppt_第1页
第1页 / 共26页
javaswing表格和树.ppt_第2页
第2页 / 共26页
javaswing表格和树.ppt_第3页
第3页 / 共26页
javaswing表格和树.ppt_第4页
第4页 / 共26页
javaswing表格和树.ppt_第5页
第5页 / 共26页
点击查看更多>>
资源描述

《javaswing表格和树.ppt》由会员分享,可在线阅读,更多相关《javaswing表格和树.ppt(26页珍藏版)》请在三一办公上搜索。

1、第十三章 补充表格和树,2,回顾,Swing 菜单由 JMenubar、JMenuitem 和 JMenu 组成 创建 JMenuBar 的实例可生成菜单。JPopupMenu 可显示在屏幕的任何地方JCheckBoxMenuItem 和 JRadioButtonMenuItem 用于实现菜单栏中的复选框和单选按钮 JOptionPane 类用于显示对话框,3,本章目标,运用 JTable 运用 JTree,4,JTable 9-1,以表格方式维护大量数据比以列表方式更加方便 使用 Swing 中的 JTable 类可以创建表,JTable,对存储数值数据非常有用,显示数据并且允许用户对其进行

2、编辑,它不存储数据,只提供数据的呈现方式,5,JTable 9-4,JTable jTable1=new JTable();,实例化 JTable 控件后将生成代码,6,JTable 9-5,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=课程名称,课程编号,学费(元);,以下代码用于添加行和列,7,JTable 9-6,JTable jTable1=new

3、 JTable(cells,columns);,使用二维对象数组来传递构造函数以填充 JTable 实例,8,JTable 9-7,运行该工程此时创建的表无表头要显示表头,请单击“Design”选项卡选定该表,右击其中的表头属性单击关联菜单中的“Expose as Class level variable”选项此时将显示表头运行该工程为表头设置属性,9,设置表头,JTableHeader 用于设置表头例:JTableHeader jh1=new jTable1.getTableHeader();,10,创建表格步骤,1、创建二维对象数组和一维字符串数组用于填充表格的行和列以及表头例:objec

4、t cells=“张三”,new Integer(20),”男”,“李四”,new Integer(25),”女”String colnames=“姓名”,”年龄”,”性别”2、初始化JTable实例JTable 表格对象名=new JTable(对象数组,字符串数组);例:JTable jTable1=new JTable(cells,colnames);/该表格无表头3、设置表头(通过表格类的方法 getTableHeader()获得表头)JTableHeader jTableHeader1=jTable1.getTableHeader();,11,4、将表格和表头分别添加至容器,12,方

5、法,setCellSelectionEnabled(booleancellSelectionEnabled)设置此表是否允许同时存在行选择和列选择。void setGridColor(ColorgridColor)将用来绘制网格线的颜色设置为 gridColor 并重新显示它。void setSelectionBackground(ColorselectionBackground)设置选定单元格的背景色。,13,JTable 9-9,以下代码将在“Source”选项卡中自动生成,package tabledemo;import java.awt.BorderLayout;import java

6、.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 extends JFrame JPanel contentPane;Object cells=Java,new Integer(01),new Integer(400),Oracle,new Integer(02

7、),new Integer(500),C#,new Integer(03),new Integer(700),;,String colnames=课程名称,课程编号,学费(元);JTable jTable1=new JTable(cells,colnames);JTableHeader jTableHeader1=jTable1.getTableHeader();public TableFrame()try setDefaultCloseOperation(EXIT_ON_CLOSE);jbInit();catch(Exception exception)exception.printStac

8、kTrace();/*初始化组件.*throws java.lang.Exception*/,private void jbInit()throws Exception contentPane=(JPanel)getContentPane();contentPane.setLayout(null);setSize(new Dimension(400,300);setTitle(欢迎使用 JTable);jTable1.setBackground(Color.yellow);jTable1.setBorder(null);jTable1.setGridColor(Color.black);jTa

9、ble1.setSelectionBackground(Color.orange);jTable1.setBounds(new Rectangle(11,29,251,161);jTableHeader1.setBackground(Color.pink);jTableHeader1.setBounds(new Rectangle(10,10,252,20);contentPane.add(jTableHeader1);contentPane.add(jTable1);,用户输入代码以添加行和列,14,JTree,树状图以垂直的分层结构方式描述信息Windows 资源管理器或文件管理器用树状结

10、构来描述文件和文件夹使用 JTree 类可在 Java 中创建这些结构 树层次结构中的每一行称为一个节点每个树都有一个根节点,可由这个根节点展开所有节点节点包含实际的数据需要导入相关的包:Import javax.swing.jtree;Import javax.swing.tree.*;,15,JTree的节点,叶节点,节点上不包含节点,节点上下都包含节点,节点下不包含节点,枝节点,根节点,16,JTree的缺省构造方法,JTree jTree1=new JTree();,实例化 JTree 控件以后可生成以下代码,17,JTree的构造方法,JTree(Hashtable ht);,JTr

11、ee(Object obj);,JTree(TreeNode tn);,JTree(Vector v);,第三个构造方法接收一个 TreeNode 对象。该对象本身可以是 JTree 组件,也可以是DefaultMutableTreeNode 类的对象。用户可以使用DefaultMutableTreeNode 对象来实现自定义的JTree,用于构建 JTree 的构造方法,18,步骤,1、创建根节点DefaultMutableTreeNode root=new DefaultMutableTreeNode(根节点);2、创建枝节点DefaultMutableTreeNode parent=ne

12、w DefaultMutableTreeNode(书籍);3、创建叶节点DefaultMutableTreeNode leaf=new DefaultMutableTreeNode(java);4、将叶节点添加至枝节点枝节点对象名.add(叶节点);parent.add(leaf);,19,步骤,5、将枝节点添加至根节点根结点对象名.add(枝节点)root.add(parent);6、初始化树实例(构造树对象)JTree jtree1=new JTree(root);7、将树对象添加至容器,20,创建自定义的 JTree,自定义树结构的代码片段,./创建根节点DefaultMutableTr

13、eeNode root=new DefaultMutableTreeNode(根节点);/创建枝节点DefaultMutableTreeNode parent=new DefaultMutableTreeNode(书籍);DefaultMutableTreeNode leaf=new DefaultMutableTreeNode(java);/将叶节点添加至枝节点parent.add(leaf)/将枝节点添加至根节点root.add(parent);jTree2=new JTree(root);contentPane.add(jTree2);.,21,事件处理,public void jTre

14、e2_valueChanged(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.getC

15、hildCount();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),22,方法,Object getLastSelectedPathComponent()返回当前选择

16、的第一个节点中的最后一个路径组件。Int getChildCount()返回此节点的子节点数。TreeNode getFirstChild()返回此节点的第一个子节点。TreeNode getParent()返回此节点的父节点,如果此节点没有父节点,则返回 null,23,方法,Boolean isLeaf()如果此节点没有子节点,则返回 true。booleanisRoot()如果此节点是树的根,则返回 true。,24,实现事件处理,要实现JTree类的事件处理,需要做如下操作1、实现TreeSelectionListener接口2、重写valueChanged(事件类型 对象)方法3、事件类型为 TreeSelectionEvent4、将监听者实例注册至JTree类的实例,25,JTree示例,26,总结,JTable 不包含数据,也不存储数据,只提供呈现数据的方式JTree 类表示数据的层次结构图树层次结构中的每一行称为一个节点只要展开或折叠 JTree 对象中的任何节点,都会产生事件JTree 中的节点有根节点、枝节点和叶节点三种类型DefaultMutableTreeNode 对象提供 TreeNode 对象的默认实现,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 农业报告


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号