package org.infosec.ismp.applet.manager.component.panel.utils;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Component;
import javax.swing.JComponent;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JViewport;
import javax.swing.table.TableCellRenderer;
import javax.swing.table.TableModel;
public class TableUtil {
public final static JTable getTable() {
return new JTable() {
public Component prepareRenderer(TableCellRenderer renderer,
int row, int column) {
Component prepareRenderer = super.prepareRenderer(renderer,
row, column);
if (this.getSelectedRow() == row) {
prepareRenderer.setBackground(new Color(200, 220, 180));
} else {
if (row % 2 == 0) {
prepareRenderer.setBackground(Color.WHITE);
} else {
prepareRenderer.setBackground(new Color(120, 180, 230,
128));
}
}
return prepareRenderer;
}
public boolean isCellEditable(int row, int col) {
return false;
}
};
}
public final static JComponent addTable(JComponent component,TableModel model) {
JScrollPane pane = new JScrollPane();
component.setLayout(new BorderLayout());
JTable t = getTable();
t.setModel(model);
JViewport viewport = pane.getViewport();
viewport.add(t.getTableHeader(), BorderLayout.PAGE_START);
viewport.add(t, BorderLayout.CENTER);
component.add(pane);
return component;
}
}