/* * @(#)Collector.java 0.0.0 99/07/05 * * Copyright (c) 1999 by Willie Wheeler. All rights reserved. */ package stats; import java.util.*; import javax.swing.event.*; /** * @version 0.0.0 07/05/99 * @author Willie Wheeler */ public class Collector implements TableModelListener { protected DataTableModel dataIn, dataOut; protected int[] cellX, cellY; public Collector(DataTableModel dataIn) { setDataIn(dataIn, 0, 0); } public Collector(DataTableModel dataIn, int cellX, int cellY) { setDataIn(dataIn, cellX, cellY); } public Collector(DataTableModel dataIn, int[] cellX, int[] cellY) { setDataIn(dataIn, cellX, cellY); } public void setDataIn(DataTableModel dataIn, int cellX, int cellY) { setDataIn(dataIn, new int[] { cellX }, new int[] { cellY }); } public void setDataIn(DataTableModel dataIn, int[] cellX, int[] cellY) { this.dataIn = dataIn; dataIn.addTableModelListener(this); this.cellX = cellX; this.cellY = cellY; dataOut = new DataTableModel(0, cellX.length); } public DataTableModel getDataOut() { return dataOut; } public void collect() { int numCells = cellX.length; Vector rowData = new Vector(numCells); for (int i = 0; i < numCells; i++) { rowData.add(dataIn.getValueAt(cellX[i], cellY[i])); } dataOut.addRow(rowData); } public void reset() { dataOut.setNumRows(0); } public void tableChanged(TableModelEvent e) { collect(); } }