当前位置:   article > 正文

DefaultTableModel概述

defaulttablemodel

The

  1. DefaultTableModel

class is a subclass of the

类是的子类

  1. AbstractTableModel

. As the name suggests it is the table model that is used by a

。 顾名思义,它是由表模型使用的。

when no table model is specifically defined by the programmer. The DefaultTableModel stores the data for the JTable in a

当程序员没有专门定义表模型时。 DefaultTableModel将JTable的数据存储在一个

  1. Vector

of

  1. Vectors

.

Although the

虽然

  1. Vector

is a legacy Java collection it is still supported and there is no issue with using it unless the additional overhead caused by using a synchronized collection is a problem for your Java application.

是一个旧的Java集合,它仍然受支持,除非使用同步集合引起的额外开销是Java应用程序的问题,否则使用它没有问题。

The advantage of using the

使用的优势

  1. DefaultTableModel

over a custom

在风俗上

  1. AbstractTableModel

is you don't have to code the methods like add, insert or delete rows and columns. They already exist to change the data held in the

是您不必编写添加,插入或删除行和列之类的方法的代码。 它们已经存在,可以更改保存在

  1. Vector

of

  1. Vectors.

This makes it a quick and easy table model to implement.

这使得它可以快速,轻松地实现表模型。

进口声明 ( Import Statement )

  1. import javax.swing.table.DefaultTableModel;

建设者 ( Constructors )

The

  1. DefaultTableModel

class has six

全班有六个

. Each can be used to populate of the

。 每个都可以用来填充

  1. DefaultTableModel

in different ways.

以不同的方式。

The first constructor takes no arguments and creates a

第一个构造函数不带参数,并创建一个

  1. DefaultTableModel

which has no data, zero columns and zero rows:

没有数据,零列和零行:

  1. DefaultTableModel defTableModel = DefaultTableModel();

The next constructor can be used to specify the number of rows and columns of a

下一个构造函数可用于指定一个对象的行数和列数

  1. DefaultTableModel

with no data:

没有数据:

  1. DefaultTableModel defTableModel = DefaultTableModel(10, 10);

There are two constructors that can be used to create a

有两个构造函数可用于创建一个

  1. DefaultTableModel

with column names and a specified number of rows (all containing null values). One uses an ​

具有列名和指定的行数(均包含空值)。 一个使用

  1. Object

array to hold the column names, the other ​a

存放列名的数组,另一个

  1. Vector

:

or

要么

  1. DefaultTableModel defTableModel = DefaultTableModel(columnNames, 10);

Finally there are two constructors used to populate the

最后,有两个构造函数用于填充

  1. DefaultTableModel

with row data along with column names. One used

行数据和列名。 一用

  1. Object

arrays, the other

数组,另一个

  1. Vectors

:

or

要么

有用的方法 ( Useful Methods )

To add a row to the

向行添加行

  1. DefaultTableModel

use the

使用

  1. addRow

method along with the row data to add:

方法以及要添加的行数据:

To insert a row use the

要插入一行,请使用

  1. insertRow

method, specifying the row index to insert and the row data:

方法,指定要插入的行索引和行数据:

To delete a row use the

要删除行,请使用

  1. removeRow

method, specifying the row index to delete:

方法,指定要删除的行索引:

  1. defTableModel.removeRow(0);

To get a value in a table cell use the

要在表格单元格中获取值,请使用

  1. getValueAt

method. For example, if the data at row 2, column 2 contains an int:

方法。 例如,如果第2行的数据第2列包含一个int:

  1. int value = tabModel.getValueAt(2, 2);

To set a value in a table cell

在表格单元格中设置值

  1. setValueAt

method with the value to set along with the row and column index:

具有要设置的值以及行和列索引的方法:

  1. defTableModel.setValueAt(8888, 3, 2);

使用技巧 ( Usage Tips )

If a

如果一个

  1. JTable

is created using the constructor that is passed a two-dimensional array containing the row data and an array containing the column names:

使用构造函数创建,该构造函数将传递包含行数据的二维数组和包含列名的数组:

then the following cast will not work:

那么以下强制转换将无效:

A runtime

运行时

  1. ClassCastException

will be thrown because in this instance the

将被抛出,因为在这种情况下

  1. DefaultTableModel

is declared as an

被声明为

in the

在里面

  1. JTable

object and cannot be cast. It can only be cast to the

对象,无法投射。 它只能投射到

  1. TableModel

interface. A way around this is to create your own

接口。 解决这个问题的一种方法是创建自己的

  1. DefaultTableModel

and set it to be the model of the

并将其设置为

  1. JTable

:

Then the

然后

  1. DefaultTableModel
  1. defTableModel

can be used to manipulate the data in the

可用于操作

  1. JTable

.

To see the

看到

  1. DefaultTableModel

in action have a look at the

在行动中看看

.

翻译自: https://www.thoughtco.com/defaulttablemodel-overview-2033890

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Monodyee/article/detail/318694
推荐阅读
相关标签
  

闽ICP备14008679号