跟我学Java Swing GUI组件技术及应用实例——JTable表格组件及应用实例
- 格式:pdf
- 大小:388.49 KB
- 文档页数:15
java中jtable的用法一、JTable简介JTable是Java Swing包中的一个组件,用于在图形用户界面(GUI)中显示和编辑表格数据。
它可以显示任何类型的数据,包括文本、数字、日期和图像等。
二、创建JTable1. 创建一个空的JTable可以通过以下代码创建一个空的JTable:```JTable table = new JTable();```2. 从二维数组创建JTable可以通过以下代码从二维数组创建一个简单的JTable:String[][] data = {{"John", "Doe"}, {"Jane", "Doe"}};String[] columnNames = {"First Name", "Last Name"};JTable table = new JTable(data, columnNames);```3. 从TableModel创建JTable可以通过实现TableModel接口并使用它来创建一个定制的TableModel,然后将其传递给JTable构造函数来创建一个自定义的JTable。
4. 从数据库中获取数据并创建JTable可以通过使用Java数据库连接(JDBC)API与数据库进行交互,并将结果集转换为TableModel,然后将其传递给JTable构造函数来从数据库中获取数据并创建一个自定义的JTable。
三、设置表格属性1. 设置表头可以使用以下代码设置表头:```String[] columnNames = {"First Name", "Last Name"};table.setColumnIdentifiers(columnNames);```2. 设置表格行高和列宽可以使用以下代码设置表格行高和列宽:```table.setRowHeight(30);table.getColumnModel().getColumn(0).setPreferredWidth(100); ```3. 设置表格背景色和前景色可以使用以下代码设置表格背景色和前景色:```table.setBackground(Color.white);table.setForeground(Color.black);```4. 设置表格字体可以使用以下代码设置表格字体:```Font font = new Font("Arial", Font.PLAIN, 14);table.setFont(font);```5. 设置表格边框可以使用以下代码设置表格边框:```Border border = BorderFactory.createLineBorder(Color.black); table.setBorder(border);```四、渲染器和编辑器1. 渲染器渲染器用于将单元格中的值呈现为用户界面上的文本或图像。
1.1跟我学Java Swing GUI组件技术及应用实例——JTable表格组件及应用实例1.1.1表格控件JTable1、JTable表格控件的主要功能JTable顾名思义就是一个将数据以表格显示的组件,它提供以行和列的方式来显示数据,并且可以拖动列。
如下示图为应用JTable表格控件所创建出的数据表格。
JTable的数据选项不仅仅是可以显示字符串,还可以显示Checkbox选择框、下拉列表框或者图片等内容。
如下为Sun 公司的Swing 教程中的TableDialogEditoDemo 应用程序的执行结果示图,在该示例的数据表格中显示Checkbox选择框、下拉列表框和图片等内容。
2、JTable类的API功能说明(1)JTable类的API功能说明如下示图为JDK API文档中对JTable类的API功能说明的相关信息。
如果需要对数据表格中的表头数据列和数据单元格中的数据列进行定制,则需要通过继承封装表头数据列JTableHeader类或者继承封装数据列的TableColumn类。
如下为JTableHeader类和TableColumn类的功能说明。
(2)表头数据列JTableHeader类的功能说明(3)数据列TableColumn类的功能说明TableColumn 类封装表示JTable中数据列的所有属性,如宽度、大小可调整性、最小和最大宽度。
3、JTable表格控件中的数据可以以多种不同的方式被选中(1)选中某一数据行(2)选中连续的多行数据行(3)选中不连续的多行数据行4、JTable类的构造函数定义可以通过JTable(Object[][] rowData, Object[] columnNames)形式的构造方法创建出数据表格组件,该JTable组件将用来显示一个二维数组rowData 中的值(它是一个行数组),其列名称为columnNames所代表的数组。
JTable类的其它形式的构造函数定义如下:5、JTable 组件中的表示表格数据的数据结构(1)TableModel接口的功能定义由于Java Swing采用了MVC的设计,所以JTable不是用来存放数据的,它只是用来作为视图显示,而真正用来存储和维护数据的是TableModel这个接口的实现类。
java-Swing控件的用法和范例类JTableJTable用来显示和编辑规则的二维单元表。
JTable有很多用来自定义其呈现和编辑的设施,同时提供了这些功能的默认设置,从而可轻松地设置简单表。
例如,要设置一个10行10列的表:TableModel dataModel=new AbstractTableModel(){public int getColumnCount(){return10;}public int getRowCount(){return10;}public Object getValueAt(int row,int col){return new Integer(row*col);} };JTable table=new JTable(dataModel);JScrollPane scrollpane=new JScrollPane(table);注意,如果要在单独的视图中(在JScrollPane外)使用JTable并显示表标题,则可以使用getTableHeader()获取并单独显示它。
设计使用JTable的应用程序时,要严格注意用来表示表数据的数据结构。
DefaultTableModel 是一个模型实现,它使用一个Vector来存储所有单元格的值。
该Vector由包含多个Object 的Vector组成。
除了将数据从应用程序复制到DefaultTableModel中之外,还可以TableModel接口的方法来包装数据,这样可将数据直接传递到JTable,如以上示例所示。
这通常可以提高应用程序的效率,因为模型可以自由选择最适合数据的内部表示形式。
在决定使用AbstractTableModel还是使用DefaultTableModel方面有一个好的实践经验,即在创建子类时使用AbstractTableModel作为基类,在不需要创建子类时则使用DefaultTableModel。
1.1Java Swing GUI组件技术教学参考示例(第1部分)1.1.1模拟实现Windows资源管理器的示例1、产生一个类似Windows的资源管理器的窗口(1)SwingExplorerMainFrame,包名称为com.px1987.javaapplication.swing,并且从javax.swing.JFrame类继承(2)编程SwingExplorerMainFrame类的代码package com.px1987.javaapplication.swing;import java.awt.Cursor;import java.awt.Font;import java.awt.GraphicsConfiguration;import java.awt.HeadlessException;import java.awt.Image;import java.awt.Toolkit;import javax.swing.JFrame;public class SwingExplorerMainFrame extends JFrame {public SwingExplorerMainFrame() throws HeadlessException {super();initThisFrame();}public SwingExplorerMainFrame(GraphicsConfiguration gc) {super(gc);initThisFrame();}public SwingExplorerMainFrame(String title) throws HeadlessException { super(title);initThisFrame();}public SwingExplorerMainFrame(String title, GraphicsConfiguration gc) { super(title, gc);initThisFrame();}private void initThisFrame(){this.setTitle("利用Java Swing构造的Windows资源管理器");this.setFont(new Font("宋体", Font.PLAIN, 12));Image oneIconImage=Toolkit.getDefaultToolkit().getImage(getClass().getResource("/images/mainframe/mainframeIconImage.jpg"));this.setIconImage(oneIconImage);// this.setResizable(false);// this.setAlwaysOnTop(true);// this.setCursor(Cursor.HAND_CURSOR);// this.setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);this.setVisible(true);// this.setSize(400,300);this.setExtendedState(JFrame.MAXIMIZED_BOTH);this.setLocationRelativeTo(null); //居中显示}}(3)代码中的几个常量的含义1)DO_NOTHING_ON_CLOSE //什么也不做2)HIDE_ON_CLOSE //隐藏当前窗口3)DISPOSE_ON_CLOSE //隐藏当前窗口,并释放窗体所占有的其它资源4)EXIT_ON_CLOSE // 结束窗体所在的应用程序这4个常量都是JFrame类中的int类型,也可以应用下面的代码实现将鼠标消失(隐藏)的效果。
Swing-JTable⽤法-⼊门注:本⽂为学习笔记,原⽂为,本⽂所有素材与代码均源于原⽂,可能会有部分更改。
JTable是Swing中的表格控件,它的外观如下所⽰:没错,excel或者access数据库的编辑区就是JTable这样的控件了。
创建JTableJTable提供了2个构造器可以让你⽤数据和头部直接⽣成它:JTable(Object[][] rowData, Object[] columnNames)JTable(Vector rowData, Vector columnNames)这两个构造器有⼀些特性你必须要注意:1.JTable所有的单元格都是可编辑的;2.它将所有数据都当做string来处理。
本来,JTable可以将布尔型数据⽤⼀个checkBox来进⾏展⽰,就像表1那样,在这⾥就不⾏了。
3.它要求你把所有数据都放到数组或vector中。
如果你的数据来⾃于数据库,那么专门再填充到数组实在是多此⼀举。
呐,如果你不能忍受以上限制,那么就使⽤table Model来管理你的数据吧!创建TableModel如果程序没有显式地指定tableModel,JTable会⾃动⽣成⼀个实例,这样做的副作⽤在上⾯已经说过了。
我们⾃⼰创建tableModel可以让数据得到更好的展⽰,这样做的⽅法是继承。
它已经提供了tableModel接⼝的⼤部分默认实现,在最低限度下,你只需要实现以下三个⽅法:public int getRowCount();public int getColumnCount();public Object getValueAt(int row, int column);当然,如果你的应⽤程序有其他定制化的功能,你可以⾃⼰实现的其它⽅法,⽐如:public Class getColumnClass(int c)//JTable uses this method to determine the default renderer editor for each cellpublic boolean isCellEditable(int row, int col)//Don't need to implement this method unless your table's editablepublic void setValueAt(Object value, int row, int col) //Don't need to implement this method unless your table's data can change.⽰意了如何⾃⼰创建并使⽤tableModel。
java jtable用法(一)Java JTable的用法JTable简介JTable是Java Swing库中的一个组件,用于显示和编辑表格数据。
它可以按照行和列的形式展示数据,并支持用户交互操作。
在本文中,我们将介绍一些JTable的常见用法和技巧。
创建JTable要创建一个JTable,我们首先需要创建一个TableModel。
TableModel是一个数据模型,用于存储和管理表格中的数据。
以下是创建JTable的步骤:1.创建一个二维数组或者一个实现TableModel接口的自定义类。
2.实例化DefaultTableModel类,并传入之前创建的数据数组或者自定义TableModel类的实例。
3.将DefaultTableModel实例传入JTable的构造方法中,创建JTable对象。
// 创建数据数组Object[][] data = {{"John", 25, "USA"},{"Alice", 30, "Canada"},{"Bob", 35, "UK"}};// 创建列名数组String[] columnNames = {"Name", "Age", "Country"};// 创建DefaultTableModelDefaultTableModel model = new DefaultTableModel(data, co lumnNames);// 创建JTableJTable table = new JTable(model);自定义JTable外观JTable提供了许多方法和属性,用于自定义表格的外观。
下面列举了几个常用的用法:设置表格行高使用方法可以设置表格的行高。
默认情况下,行高是根据表格内容的实际高度自动调整的。
Swing之JTable详解类层次结构图:ng.Objectponent--java.awt.Container--javax.swing.JComponent--javax.swing.JTabel1、JTable在使用JTable以前,我们先看一下它的构造函数有哪些,以及应该如何使用:JTabel构造函数:JTable():建立一个新的JTables,并使用系统默认的Model。
JTable(int numRows,int numColumns):建立一个具有numRows行,numColumns列的空表格,使用的是DefaultTableModel。
JTable(Object[][] rowData,Object[][] columnNames):建立一个显示二维数组数据的表格,且可以显示列的名称。
JTable(TableModel dm):建立一个JTable,有默认的字段模式以及选择模式,并设置数据模式。
JTable(TableModel dm,TableColumnModel cm):建立一个JTable,设置数据模式与字段模式,并有默认的选择模式。
JTable(TableModel dm,TableColumnModel cm,ListSelectionModel sm):建立一个JTable,设置数据模式、字段模式、与选择模式。
JTable(Vector rowData,Vector columnNames):建立一个以Vector为输入来源的数据表格,可显示行的名称。
我们先以Array构造方式,说明如何利用JTable来建立一个简单的表格:import javax.swing.*;import java.awt.*;import java.awt.event.*;import java.util.*;public class SimpleTable{public SimpleTable(){JFrame f=new JFrame();Object[][] playerInfo={{"阿呆",new Integer(66),new Integer(32),new Integer(98),new Boolean(false)},{"阿呆",new Integer(82),new Integer(69),new Integer(128),new Boolean(true)},};String[] Names={"姓名","语文","数学","总分","及格"};JTable table=new JTable(playerInfo,Names);table.setPreferredScrollableViewportSize(new Dimension(550,30));JScrollPane scrollPane=new JScrollPane(table);f.getContentPane().add(scrollPane,BorderLayout.CENTER);f.setTitle("Simple Table");f.pack();f.show();f.addWindowListener(new WindowAdapter() {public void windowClosing(WindowEvent e) {System.exit(0);}});}public static void main(String[] args){SimpleTable b=new SimpleTable();}}表格由两部份组成:分别是行标题(Column Header)与行对象(Column Object).利用JTable 所提供的getTableHeader()方法取得行标题。
1.1跟我学Java Swing GUI组件技术及应用实例——Java Swing GUI组件相关技术及JFrame的应用示例1.1.1Java Swing GUI组件相关技术1、Java Swing GUI组件的技术特性Java Swing 是一个为Java语言的应用程序(Java Application)设计的一套GUI(图形用户界面)工具包,同时也是J2SDK(Java基础类库)的一部分。
应用Java Swing可以构建出Java 应用程序的图形用户界面(GUI)。
(1)是AWT的扩展,它比AWT提供了更多的组件和外观。
如下示图为一个应用Java Swing GUI系统库开发实现仿腾讯QQ软件的界面示例图。
(2)是Sun公司的新一代的图形界面的标准它基于MVC的架构设计思想实现,并提供有LookAndFeel和Layout等界面和业务分离的支持技术。
如下示图为一个应用Java Swing GUI系统库开发实现的模拟Windows 资源管理器的GUI 界面示例图。
(3)Swing组件是纯Java代码(但JFrame、JDialog、JApplet除外),因此与平台无关。
如下示图为一个应用Java Swing GUI系统库开发实现仿腾讯QQ软件的用户聊天通讯主窗口的示例图。
2、Java AWT的缺点Java AWT是Abstract Window Toolkit(抽象窗口工具包)的缩写,是SUN专门针对Java GUI 编程提供的最早的也是最初的开发工具包,用来建立和设置Java图形用户界面,这个工具包提供了一套与本地图形界面交互的接口。
但由于AWT 中的图形函数的实现是与本地操作系统所提供的图形函数之间存在有一一对应的关系(也就是AWT 中的Peers概念),因此当应用AWT 构件图形用户界面时,实际上是利用本地操作系统所提供的图形系统库。
但由于不同的操作系统图形库所提供的功能是有差异的,所以在一个操作系统平台上存在的功能在另外一个操作系统平台上则有可能不提供,从而导致Java GUI与操作系统平台紧密相关而影响了Java的跨平台特性。
JAVA图形界⾯(GUI)之表格的⽰例代码表格(JTable)是我们在GUI开发中很常⽤的⼀个组件。
表格在可视化编程中⽤于显⽰信息,在Swing编程中⾮常有⽤,当要显⽰⼤量数据时,⽤表格可以清晰的显⽰出来。
本篇博客将演⽰JTable的基本⽤法。
构造⽅法:⽅法名说明JTable()构造⼀个默认的 JTable,使⽤默认的数据模型、默认的列模型和默认的选择模型对其进⾏初始化JTable(int numRows, int numColumns)使⽤ DefaultTableModel 构造具有 numRows ⾏和numColumns 列个空单元格的 JTableJTable(Object[][] rowData, Object[] columnNames)构造⼀个 JTable 来显⽰⼆维数组 rowData 中的值,其列名称为 columnNamesJTable(TableModel dm)构造⼀个 JTable,使⽤数据模型 dm、默认的列模型和默认的选择模型对其进⾏初始化JTable(TableModel dm, TableColumnModel cm)构造⼀个 JTable,使⽤数据模型 dm、列模型 cm 和默认的选择模型对其进⾏初始化JTable(TableModel dm, TableColumnModel cm, ListSelectionModel sm)构造⼀个 JTable,使⽤数据模型 dm、列模型 cm 和选择模型 sm 对其进⾏初始化JTable(Vector rowData, Vector columnNames)构造⼀个 JTable 来显⽰ Vector 所组成的 Vector rowData 中的值,其列名称为 columnNames使⽤⽰例:import java.awt.BorderLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.text.MessageFormat;import java.util.Random;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JScrollPane;import javax.swing.JTable;import javax.swing.table.DefaultTableModel;/*** 表格⽰例** @author jianggujin**/public class TableDemo extends JFrame{// 默认表格模型private DefaultTableModel model = null;private JTable table = null;private JButton addBtn = null;public TableDemo(){super("TableDemo");String[][] datas = {};String[] titles = { "列⼀", "列⼆" };model = new DefaultTableModel(datas, titles);table = new JTable(model);addBtn = new JButton("添加数据");addBtn.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e){model.addRow(new String[] { getRandomData(), getRandomData() });}});add(addBtn, BorderLayout.NORTH);add(new JScrollPane(table));setSize(400, 300);setLocationRelativeTo(null);setDefaultCloseOperation(EXIT_ON_CLOSE);setVisible(true);}public static void main(String[] args){new TableDemo();}/*** 获得随机字符串,该⽅法仅⽤于获得随机字符串,可以忽略** @return*/private String getRandomData(){String source = "0123456789abcdefghijklmnopqrstuvwxyz";int len = source.length();Random random = new Random(System.currentTimeMillis());return MessageFormat.format("{0}{0}{0}", source.charAt(random.nextInt(len)));}}运⾏效果:以上就是本⽂的全部内容,希望对⼤家的学习有所帮助,也希望⼤家多多⽀持。
1.1跟我学Java Swing GUI组件技术及应用实例——JTable表格组件及应用实例1.1.1表格控件JTable1、JTable表格控件的主要功能JTable顾名思义就是一个将数据以表格显示的组件,它提供以行和列的方式来显示数据,并且可以拖动列。
如下示图为应用JTable表格控件所创建出的数据表格。
JTable的数据选项不仅仅是可以显示字符串,还可以显示Checkbox选择框、下拉列表框或者图片等内容。
如下为Sun 公司的Swing 教程中的TableDialogEditoDemo 应用程序的执行结果示图,在该示例的数据表格中显示Checkbox选择框、下拉列表框和图片等内容。
2、JTable类的API功能说明(1)JTable类的API功能说明如下示图为JDK API文档中对JTable类的API功能说明的相关信息。
如果需要对数据表格中的表头数据列和数据单元格中的数据列进行定制,则需要通过继承封装表头数据列JTableHeader类或者继承封装数据列的TableColumn类。
如下为JTableHeader类和TableColumn类的功能说明。
(2)表头数据列JTableHeader类的功能说明(3)数据列TableColumn类的功能说明TableColumn 类封装表示JTable中数据列的所有属性,如宽度、大小可调整性、最小和最大宽度。
3、JTable表格控件中的数据可以以多种不同的方式被选中(1)选中某一数据行(2)选中连续的多行数据行(3)选中不连续的多行数据行4、JTable类的构造函数定义可以通过JTable(Object[][] rowData, Object[] columnNames)形式的构造方法创建出数据表格组件,该JTable组件将用来显示一个二维数组rowData 中的值(它是一个行数组),其列名称为columnNames所代表的数组。
JTable类的其它形式的构造函数定义如下:5、JTable 组件中的表示表格数据的数据结构(1)TableModel接口的功能定义由于Java Swing采用了MVC的设计,所以JTable不是用来存放数据的,它只是用来作为视图显示,而真正用来存储和维护数据的是TableModel这个接口的实现类。
因此可以通过实现TableModel这个接口,然后在对应的实现类中定义数据表格中的行、列数据单元格。
(2)实现TableModel接口的实现类的代码示例package com.bluedream.swing;import javax.swing.event.TableModelListener;import javax.swing.table.TableModel;public class SomeOneTableModel implements TableModel {@Overridepublic int getRowCount() {return 0;}@Overridepublic int getColumnCount() {return 0;}@Overridepublic String getColumnName(int columnIndex) {return null;}@Overridepublic Class<?> getColumnClass(int columnIndex) {return null;}@Overridepublic boolean isCellEditable(int rowIndex, int columnIndex) { return false;}@Overridepublic Object getValueAt(int rowIndex, int columnIndex) {return null;}@Overridepublic void setValueAt(Object aValue, int rowIndex, int columnIndex) { }@Overridepublic void addTableModelListener(TableModelListener l) {}@Overridepublic void removeTableModelListener(TableModelListener l) {}}(3)通过继承AbstractTableModel的子类定义数据表格中的数据由于直接实现TableModel接口实现重写许多无关的功能方法,因此可以改用继承AbstractTableModel的子类的方式定义数据表格中的数据。
AbstractTableModel类的功能定义如下:在继承AbstractTableModel类的子类中只需要重写如下的三个功能方法:1)public int getRowCount();2)public int getColumnCount();3)public Object getValueAt(int row, int column);如下的代码示例是通过在继承AbstractTableModel类的子类中定义数据表格中的数据:package com.bluedream.swing;import javax.swing.table.AbstractTableModel;public class SomeOneTableModel extends AbstractTableModel {public int getColumnCount(){return 10;}public int getRowCount(){return 10;}public Object getValueAt(int row, int col){return new Integer(row*col);}}(4)应用TableModel接口的实现类或者AbstractTableModel类的子类的对象实例创建出JTable类的对象实例TableModel tableData = new SomeOneTableModel ();JTable someOneDataTable = new JTable(tableData);(5)直接定义数据表格中的行、列数据创建出数据表格在创建JTable类的对象实例时,除了可以应用TableModel接口的实现类或者AbstractTableModel类的子类的对象实例创建出JTable类的对象实例以外,也可以采用直接定义数据表格中的行、列数据的方式创建出数据表格,如下为该方法的代码示例:String tableHead[]={"第一列","第二列","第三列"};Object [][]tableData={{"第一行第一列","第一行第二列","第一行第三列"},{"第二行第一列","第二行第二列","第二行第三列"},{"第三行第一列","第三行第二列","第三行第三列"}};JTable someOneDataTable =new JTable(tableData, tableHead);6、创建出JTable对象的编程方法可以采用表格中的表头数组和数据数组创建出表格,也可以利用实现TableModel接口的类对象来实现。
如下为表格控件JTable的编程步骤:(1)创建出JTable对象可以采用表格中的表头数组和数据数组创建出表格,或者利用实现TableModel接口的类对象。
(2)再创建出一个JScrollPane对象并指示其ScrollBar的使用策略;(3)将表格控件加入JScrollPane中;(4)最后将JScrollPane对象加人到顶级容器的ContentPane中。
7、应用TableModel接口的实现类封装数据表格数据的方法创建数据表格的示例代码(1)示例程序代码package com.bluedream.swing;import javax.swing.JFrame;import javax.swing.JScrollPane;import javax.swing.JTable;import javax.swing.table.AbstractTableModel;import javax.swing.table.TableModel;public class JTableTest extends JFrame{public JTableTest() {super("窗口的标题条文字");/*** 应用TableModel接口的实现类封装数据表格数据的方法创建数据表格*/TableModel dataModel = new AbstractTableModel(){public int getColumnCount(){return 10;}public int getRowCount(){return 10;}public Object getValueAt(int row, int col){return new Integer(row*col);}};JTable table = new JTable(dataModel);JScrollPane scrollPane=new JScrollPane(table,JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);this.setContentPane(scrollPane);setSize(500,500);setVisible(true);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);}public static void main(String []args){JTableTest frame=new JTableTest();}}(2)示例程序代码执行的效果8、应用封装数据表格数据的二维数组的方法创建数据表格的示例代码(1)示例程序的代码package com.bluedream.swing;import javax.swing.JFrame;import javax.swing.JScrollPane;import javax.swing.JTable;public class JTableTest extends JFrame{String tableHead[]={"第一列","第二列","第三列"};Object [][]tableData={{"第一行第一列","第一行第二列","第一行第三列"},{"第二行第一列","第二行第二列","第二行第三列"},{"第三行第一列","第三行第二列","第三行第三列"}};public JTableTest() {super("窗口的标题条文字");JTable table=new JTable(tableData,tableHead);JScrollPane scrollPane=new JScrollPane(table,JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);this.setContentPane(scrollPane);setSize(500,500);setVisible(true);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);}public static void main(String []args){JTableTest frame=new JTableTest();}}(2)示例程序代码的执行结果。