Main Page | Packages | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | Related Pages

myTableAdapter.java

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 // update the table using externally queried and processed data
00023     public void reTable(Vector theData) {
00024          if(theData.size()>0) {
00025            Vector colNames = (Vector)theData.elementAt(0); // first line should be column names
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); // Tell the listeners a new table has arrived.
00039 
00040 
00041       return ;
00042     }
00043 
00044 
00045     //  Now the Implementation of the TableModel Interface
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     // Data methods
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 // write a spreadhseet file as text with semicolon as a delimiter
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 }

Generated on Thu Jul 15 09:55:46 2004 for SCT DAQ/DCS Software - Java by doxygen 1.3.5