资源描述:
《JTable的用法收藏版》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、JTable的用法收藏版在使用JTable以前,我们先看一下它的构造函数有哪些,以及应该如何使用:JTabel构造函数:JTable():建立一个新的JTables,并使用系统默认的Model.JTable(intnumRows,intnumColumns):建立一个具有numRows行,numColumns列的空表格,使用的是DefaultTableModel.JTable(Object[][]rowData,Object[][]columnNames):建立一个显示二维数组数据的表格,且可以
2、显示列的名称。JTable(TableModeldm):建立一个JTable,有默认的字段模式以及选择模式,并设置数据模式。JTable(TableModeldm,TableColumnModelcm):建立一个JTable,设置数据模式与字段模式,并有默认的选择模式。JTable(TableModeldm,TableColumnModelcm,ListSelectionModelsm):建立一个JTable,设置数据模式、字段模式、与选择模式。JTable(VectorrowData,Vect
3、orcolumnNames):建立一个以Vector为输入来源的数据表格,可显示行的名称。我们先以Array构造方式,说明如何利用JTable来建立一个简单的表格:1importjavax.swing.*;2importjava.awt.*;3importjava.awt.event.*;4importjava.util.*;5publicclassSimpleTable{6publicSimpleTable(){7JFramef=newJFrame();8Object[][]playerInf
4、o={9 {"阿呆",newInteger(66),newInteger(32),newInteger(98),newBoolean(false)},10{"阿呆",newInteger(82),newInteger(69),newInteger(128),newBoolean(true)},11};12String[]Names={"姓名","语文","数学","总分","及格"};13JTabletable=newJTable(playerInfo,Names);14table.se
5、tPreferredScrollableViewportSize(newDimension(550,30));15JScrollPanescrollPane=newJScrollPane(table);16f.getContentPane().add(scrollPane,BorderLayout.CENTER);17f.setTitle("SimpleTable");18f.pack();19f.show();20f.addWindowListener(newWindowAdapter(){2
6、1publicvoidwindowClosing(WindowEvente){22System.exit(0);23}24});24}25publicstaticvoidmain(String[]args){26 SimpleTableb=newSimpleTable();27}28}表格由两部份组成:分别是行标题(ColumnHeader)与行对象(ColumnObject).利用JTable所提供的getTableHeader()方法取得行标题。在这个例子中,我们将JTable放在J
7、ScrollPane中,这种做法可以将ColumnHeader与ColmnObject完整的显示出来,因为JScrollPane会自动取得ColumnHeader.但如果文坛读者将上面第15行去掉并修改第16行:f.getContentPane().add(table,BorderLayout.CENTER);则运行结果你会发现ColumnHeader不见了。如果你不想用JScrollPane,要解决这个问题,你必须将程序修改如下:JTabletable=newJTable(p,n);table
8、.setPreferredScrollableViewportSize(newDimension(550,30));f.getContentPane().add(table.getTableHeader(),BorderLayout.NORTH);f.getContentPane().add(table,BorderLayout.CENTER);运行结果就会跟之前一样有行标题了.上面的运行结果就会跟发现,每个字段的宽度都是一样的,除非你自行拉曳某个列宽。若我们想一开始就设置列宽的值,可以利用Ta