怎么修改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;
}
}