/**
* TableModelListener的方法
* @param e
*/
public void tableChanged(TableModelEvent e)
{
// TODO 自动生成方法存根
System.out.println("tableChanged(...)");
}
/**
* TableColumnModelListener方法
*/
public void columnMarginChanged(ChangeEvent e)
{
// TODO 自动生成方法存根
System.out.println("columnMarginChanged(...)");
}
/**
* TableColumnModelListener方法
*/
public void columnSelectionChanged(ListSelectionEvent e)
{
// TODO 自动生成方法存根
System.out.println("columnSelectionChanged(...)");
}
/**
* TableColumnModelListener方法
*/
public void columnAdded(TableColumnModelEvent e)
{
// TODO 自动生成方法存根
System.out.println("columnAdded(...)");
}
/**
* TableColumnModelListener方法
*/
public void columnMoved(TableColumnModelEvent e)
{
// TODO 自动生成方法存根
System.out.println("columnMoved(...)");
}
/**
* TableColumnModelListener方法
*/
public void columnRemoved(TableColumnModelEvent e)
{
// TODO 自动生成方法存根
System.out.println("columnRemoved(...)");
}
}
class MyTableColumnModel extends DefaultTableColumnModel
{
public void addColumn(TableColumn tc)
{
super.addColumn(tc);
int newIndex = sortedIndexOf(tc);
if ( newIndex != tc.getModelIndex() )
{
this.moveColumn(tc.getModelIndex(), newIndex);
}
}
protected int sortedIndexOf(TableColumn tc)
{
int stop = this.getColumnCount();
String name = tc.getHeaderValue().toString();
for ( int i = 0; i < stop; i++ )
{
if ( name.compareTo(this.getColumn(i).getHeaderValue().toString()) <= 0 )
{
return i;
}
}
return stop;
}
}
/**
* 选中监听器不太好使
*/
class MyLineSelectionListener implements ListSelectionListener
{
public void valueChanged(ListSelectionEvent e)
{
// TODO 自动生成方法存根
System.out.println("valueChanged()");
int first=e.getFirstIndex();
int last=e.getLastIndex();
// System.out.println("选中"+first+"--"+last+"行");
}
}
/**
* 选中监听器不太好使
*/
class MyColumeSelectionListener implements ListSelectionListener
{
public void valueChanged(ListSelectionEvent e)
{
// TODO 自动生成方法存根
System.out.println("valueChanged()");
int first=e.getFirstIndex();
int last=e.getLastIndex();
// System.out.println("选中"+first+"--"+last+"列");
}
public void setFileStats(File dir)
{
String files[] = dir.list();
mData = new Object[files.length][mTitles.length];
for ( int i = 0; i < files.length; i++ )
{
File tmp = new File(files[i]);
mData[i][0] = new Boolean(tmp.isDirectory());
mData[i][1] = tmp.getName();
mData[i][2] = new Boolean(tmp.canRead());
mData[i][3] = new Boolean(tmp.canWrite());
mData[i][4] = new Long(tmp.length());
mData[i][5] = new Date(tmp.lastModified());
}
}
public void showTableColumnModel()
{
System.out.println("------TableColumnModel----------");
//TableColumnModel所管辖的列数
int columnCount = mTableColumnModel.getColumnCount();
System.out.println("**其他方法");
//输出总共选中的列数
int selectedColumnCount = mTableColumnModel.getSelectedColumnCount();
System.out.println("getSelectedColumnCount()==" + selectedColumnCount);
//输出选中的列在当前显示出来的表格上的列号数组
System.out.print("getSelectedColumns()==");
int selectedColumns[] = mTableColumnModel.getSelectedColumns();
for ( int i = 0; i < selectedColumns.length; i++ )
{
System.out.print(selectedColumns[i] + " ,");
}
System.out.println(" ");
//返回列之间的间隔
int columnMargin = mTableColumnModel.getColumnMargin();
System.out.println("getColumnMargin()==" + columnMargin);
//所有列的总宽度
int totalColumnWidth = mTableColumnModel.getTotalColumnWidth();
System.out.println("getTotalColumnWidth()==" + totalColumnWidth);
}
public void showTableModel()
{
System.out.println("------TableModel----------");