实例033 利用数组随机抽取幸运观众

实例033 利用数组随机抽取幸运观众

实例说明

数组在程序开发中被广泛应用,使用数组可以使程序代码更加规范,更易于维护。例如,字符串数组可用于定义表格控件的列名称,而整型数组可以用来定义列对应的宽度,本实例就通过这两个数组实现了对表格控件中表头列的设置。实例的运行效果如图54所示。

脚下留神

如果直接将表格控件添加到滚动面板以外的容器中,首先应该通过JTable类的getTableHeader()方法获取表格的JTableheader表头类的对象,然后再将该对象添加到容器相应的位置,否则表格将没有表头,无法显示任何列名称.

技术要点

本实例的关键技术在于设置表格的数据模型和访问列模型。其中表格的数据模型可以采用DefaultTableModel类创建数据模型对象,而创建过程中可以把字符串数组作为参数来创建表格列的名称.

1. 创建表格数据模型

DefaultAbleModel类的构造方法有很多,其中一个可以把字符串数组作为参数来生成列名称,同时接收int类型的参数来设置表格添加多少行空白数据。这个构造方法的声明如下:

1
2
3
public DefaultTableModel(Object[] columnNames, int rowCount) {

}

参数说明

  • columnNames:存放列名的数组。
  • rowCount:指定创建多少行空白数据。

2. 设置表格数据模型

JTable类是表格控件,它提供了setModel()方法来设置表格的数据模型。设置数据模型以后表格控件可以从数据模型中提取表头所有列名称和所有行数据,这个数据模型将负责表格所有数据的维护。该设置表格模型的方法的声明如下:

1
public void setModel(final TableModel dataModel)

参数说明
dataModel:此表的新数据模型。

3. 获取表格列模型

表格中所有列对象都存放在列模型中,它们用于定义表格的每个列的名称及宽度等信息。表格的列模型可以通过getColumnModel()方法来获取。其方法的声明如下

1
public TableColumnModel getColumnModel()

4. 设置列宽度

列对象存放在列模型中,并且列的宽度需要通过列对象的setPreferredWidth()方法来设置。该方法的声明如下:

1
public void setPreferredWidth(int preferredWidth)

参数说明
preferredWidth:列对象的首选宽度参数。