package org.freehep.swing.print.table; import javax.swing.table.TableModel; /** * Converts a TableModel to a PrintableTableModel * @author tonyj * @version $Id: PrintModelAdapter.java 8584 2006-08-10 23:06:37Z duns $ */ public class PrintModelAdapter implements PrintableTableModel { private TableModel model; private String title; private CellPrinter headerPrinter = new DefaultCellPrinter(DefaultCellPrinter.ALIGN_CENTER); private CellPrinter textPrinter = new DefaultCellPrinter(DefaultCellPrinter.ALIGN_LEFT); private CellPrinter numberPrinter = new NumberCellPrinter(); /** Creates a new instance of PrintModelAdapter * @param model The table model to convert * @param title The title for the generater PrintableTableModel */ public PrintModelAdapter(TableModel model, String title) { this.model = model; this.title = title; } public CellPrinter getCellPrinter(int column) { return Number.class.isAssignableFrom(model.getColumnClass(column)) ? numberPrinter : textPrinter; } public CellPrinter getHeaderPrinter(int column) { return headerPrinter; } public String getTitle() { return title; } public Object headerForColumn(int i) { return model.getColumnName(i); } public boolean hideColumn(int i) { return false; } public int numberOfColumns() { return model.getColumnCount(); } public int numberOfRows() { return model.getRowCount(); } public Object valueAt(int i, int j) { return model.getValueAt(i,j); } }