表格说明--swing

来源:互联网 发布:python 获取当前行数 编辑:程序博客网 时间:2024/05/29 02:26

表格模型
由于AbstractTableModel类已经实现了大多数必须的方法,因而如果想自己创建一个能实现最基本功能
的模型,只需要提供以下三种方法:
public int getRowCount();
public int getColumnCount();
public Object getValueAt(int row,int column);
当然可以根据自己的喜好的任意方式实现GetValueAt方法,这些都将会被反映在表格的视图上,在这里
只是简单的返回data数组中的数据
  //返回列得总数
  public int getColumnCount()
  {
   return columnNames.length;
  }
  //返回行得总数
  public int getRowCount()
  {
   return data.length;
  }
  //返回列名
  public String getColumnName(int col)
  {
   return columnNames[col];
  }
  //返回指定位置的值
  public Object getValueAt(int row,int col)
  {
   return data[row][col];
  }
  //返回数据类型
  public Class getColumnClass(int c)
  {
   return getValueAt(0,c).getClass();
  }

如果不提供列名称,AbstractTableModel的getColumnName(int col)将只是简单的将列名命名为:ABCD等
因而如果想用自己的名字就必须对该方法进行重载。
//返回列名
public String getColumnName(int col)
{
 return columnName[col]
}

单元渲染和编辑
JTable的单元表格中不是仅仅能显示字符串,它还有很多种显示方式,这可以通过重载AbstractTableModel
的getColumnClass 方法来实现
class getColumnClass(int columnIndex)
这个方法返回描述列类型的类,JTable会根据返回的类型来选择合适的渲染器。
以下是缺省的渲染器
ImageIcon //图象
Boolean //复选框