package gui.views.components;
import java.awt.Component;
import java.util.Enumeration;
import javax.swing.JComponent;
import javax.swing.JTable;
import javax.swing.SwingConstants;
import javax.swing.table.DefaultTableCellRenderer;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableCellRenderer;
import javax.swing.table.TableColumn;
/**
* The table containing previous inputs and outputs.
*
* @author Maxime PIA
*/
@SuppressWarnings("serial")
public class HistoryTable extends JTable {
private static final String[] COLUMN_NAMES = {"Input", "Output"};
public HistoryTable() {
super(new DefaultTableModel(COLUMN_NAMES, 0) {
@Override
public boolean isCellEditable(int row, int column){
return false;
}
});
DefaultTableCellRenderer topRenderer = new DefaultTableCellRenderer();
topRenderer.setVerticalAlignment(SwingConstants.TOP);
Enumeration<TableColumn> cols = this.getColumnModel().getColumns();
while (cols.hasMoreElements()) {
cols.nextElement().setCellRenderer(topRenderer);
}
}
@Override
public Component prepareRenderer(TableCellRenderer renderer,
int row, int column) {
Component c = super.prepareRenderer(renderer, row, column);
if (c instanceof JComponent) {
JComponent jc = (JComponent) c;
jc.setToolTipText(getValueAt(row, column).toString());
}
return c;
}
}