怎么修改JTable的列标题,在不使用构造函数的情况下?

怎么修改JTable的列标题,在不使用构造函数的情况下?

问题描述:

我是这样构造一个JTable的
自定义一个类 class MyTable extends AbstractTableModel
然后创建MyTable对象mt
界面的Jtable对象 jTable1
设置模型jTable1.setModel(mt);
在MyTable类里边设置列标题一维数组和表格数据的二维数组,这两个数组初始化里边有数据的话 可以在jTable1里正常显示标题和数据
我的问题是怎么能够在修改列标题一维数组的情况下,使jTable1里的列标题也作修改?

swing没有提供你说的这种同步,自己写代码实现,在每次更改列标题时更新jtable。
修改列标题的数组后,重新设置jtable的标题数组。
然后:
table.invalidate(); table.repaint();

[b]的二维数组,这两个数组初始化[/b]
[code="java"]
swing没有提供你说的这种同步,自己写代码实现,在每次更改列标题时更新jtable。
修改列标题的数组后,重新设置jtable的标题数组。
然后:
table.invalidate(); table.repaint();
table.invalidate(); table.repaint();[/code]

在自定义的TableModel中这样写:

class MyTable extends AbstractTableModel {

// 一维数组
private String[] columnNames;


public void setColumnNames(String[] columnNames) {
     this.columnNames = columnNames;
     super.fireTableStructureChanged();
}


public String getColumnName(int columnIndex) {
     return columnNames[columnIndex];
}

public int getColumnCount() {
     return columnNames.lenght;
}

}