00001 package guiUtilities;
00002
00003
00004
00005
00006 import java.util.Vector;
00007 import javax.swing.table.AbstractTableModel;
00008 import javax.swing.event.TableModelEvent;
00009
00010
00011 public class myTableAdapter extends AbstractTableModel {
00012 public Vector rows;
00013 public int recordCount;
00014 public String[] columnNames = {};
00015
00016 public myTableAdapter() {
00017 rows = new Vector();
00018 recordCount=0;
00019 }
00020
00021
00022
00023 public void reTable(Vector theData) {
00024 if(theData.size()>0) {
00025 Vector colNames = (Vector)theData.elementAt(0);
00026 int numberOfColumns = colNames.size();
00027 columnNames = new String[numberOfColumns];
00028
00029 for(int column = 0; column < numberOfColumns; column++) {
00030 columnNames[column] = (String)colNames.elementAt(column);
00031 }
00032
00033 theData.removeElementAt(0);
00034 }
00035 rows = theData;
00036 recordCount= (theData.size()>=0) ? theData.size() : 0;
00037
00038 fireTableChanged(null);
00039
00040
00041 return ;
00042 }
00043
00044
00045
00046
00047 public String getColumnName(int column) {
00048 if (columnNames[column] != null) {
00049 return columnNames[column];
00050 } else {
00051 return "";
00052 }
00053 }
00054
00055 public Class getColumnClass(int column) {
00056 return getValueAt(0, column).getClass();
00057 }
00058
00059 public boolean isCellEditable(int row, int column) {
00060 return false;
00061
00062 }
00063
00064 public int getColumnCount() {
00065 return columnNames.length;
00066 }
00067
00068
00069
00070 public int getRowCount() {
00071 return rows.size();
00072 }
00073
00074 public Object getValueAt(int aRow, int aColumn) {
00075 Vector row = (Vector)rows.elementAt(aRow);
00076 return row.elementAt(aColumn);
00077 }
00078
00079
00080 public void setValueAt(Object value, int row, int column) {
00081 Vector dataRow = (Vector)rows.elementAt(row);
00082 dataRow.setElementAt(value, column);
00083
00084 }
00085
00086 public void printTableData() {
00087 int numRows = getRowCount();
00088 int numCols = getColumnCount();
00089
00090 for (int i=0; i < numRows; i++) {
00091 System.out.print(" row " + i + ":");
00092 Vector theRow = (Vector)rows.elementAt(i);
00093 for (int j=0; j < numCols; j++) {
00094 System.out.print(" " + theRow.elementAt(j));
00095 }
00096 System.out.println();
00097 }
00098 System.out.println("--------------------------");
00099 }
00100
00101 public void writeTXT(java.io.File file) {
00102
00103 try {
00104 java.io.FileWriter fw = new java.io.FileWriter(file);
00105 java.io.BufferedWriter out = new java.io.BufferedWriter(fw);
00106
00107 int numRows = getRowCount();
00108 int numCols = getColumnCount();
00109 String line="";
00110 for(int i=0;i<numCols;i++) {
00111 String title = getColumnName(i);
00112 line += (i==0) ? getColumnName(i) : ";"+getColumnName(i);
00113 }
00114 out.write(line,0,line.length());
00115 out.newLine();
00116
00117 for (int i=0; i < numRows; i++) {
00118 line="";
00119 for (int j=0; j < numCols; j++) {
00120
00121 Object object = getValueAt(i,j);
00122 String content = (object==null) ? "" : object.toString();
00123 line += (j==0) ? content : ";"+content;
00124 }
00125 out.write(line,0,line.length());
00126 out.newLine();
00127 }
00128 out.close();
00129 System.out.println("Saved file semicolon-delimited text file "+file.getAbsolutePath());
00130 } catch(Exception e) {System.out.println("Error creating file "+file.getAbsolutePath()+" : "+e.toString());}
00131 }
00132
00133
00134
00135
00136 }