资源描述:
《javaswing表格和树》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第十三章补充—表格和树回顾Swing菜单由JMenubar、JMenuitem和JMenu组成创建JMenuBar的实例可生成菜单。JPopupMenu可显示在屏幕的任何地方JCheckBoxMenuItem和JRadioButtonMenuItem用于实现菜单栏中的复选框和单选按钮JOptionPane类用于显示对话框2本章目标运用JTable运用JTree3JTable9-1以表格方式维护大量数据比以列表方式更加方便使用Swing中的JTable类可以创建表JTable对存储数值数据非常有用显示数据并且允许用户对其进行编辑它不存储数据,只提供数据的呈现方式4JTa
2、ble9-4JTablejTable1=newJTable();实例化JTable控件后将生成代码5JTable9-5Object[][]cells={{"Java",newInteger(01),newInteger(400)},{"Oracle",newInteger(02),newInteger(500)},{"C#",newInteger(03),newInteger(700)},};String[]colnames={"课程名称","课程编号","学费(元)"};以下代码用于添加行和列6JTable9-6JTablejTable1=newJTable(cell
3、s,columns);使用二维对象数组来传递构造函数以填充JTable实例7JTable9-7运行该工程此时创建的表无表头要显示表头,请单击“Design”选项卡选定该表,右击其中的表头属性单击关联菜单中的“ExposeasClasslevelvariable”选项此时将显示表头运行该工程为表头设置属性8设置表头JTableHeader用于设置表头例:JTableHeaderjh1=newjTable1.getTableHeader();9创建表格步骤1、创建二维对象数组和一维字符串数组用于填充表格的行和列以及表头例:object[][]cells={{“张三”,new
4、Integer(20),”男”},{“李四”,newInteger(25),”女”}}Stringcolnames={“姓名”,”年龄”,”性别”}2、初始化JTable实例JTable表格对象名=newJTable(对象数组,字符串数组);例:JTablejTable1=newJTable(cells,colnames);//该表格无表头3、设置表头(通过表格类的方法getTableHeader()获得表头)JTableHeaderjTableHeader1=jTable1.getTableHeader();104、将表格和表头分别添加至容器11方法setCellSe
5、lectionEnabled(booleancellSelectionEnabled)设置此表是否允许同时存在行选择和列选择。voidsetGridColor(ColorgridColor)将用来绘制网格线的颜色设置为gridColor并重新显示它。voidsetSelectionBackground(ColorselectionBackground)设置选定单元格的背景色。12JTable9-9以下代码将在“Source”选项卡中自动生成packagetabledemo;importjava.awt.BorderLayout;importjava.awt.Dimens
6、ion;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),
7、newInteger(500)},{"C#",newInteger(03),newInteger(700)},};String[]colnames={"课程名称","课程编号","学费(元)"};JTablejTable1=newJTable(cells,colnames);JTableHeaderjTableHeader1=jTable1.getTableHeader();publicTableFrame(){try{setDefaultCloseOperation(EXIT_ON_CLOSE);jbInit();}catch(Exce