table.setShowVerticalLines(false);
table.setIntercellSpacing(new Dimension(0,0));
table.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
initFilters(table);
DefaultTableColumnModel columnModel = new DefaultTableColumnModel();
Color rowColors[] = new Color[2];
rowColors[0] = UIManager.getColor("Table.background");
rowColors[1] = new Color((int)(rowColors[0].getRed() * .90),
(int)(rowColors[0].getGreen() * .95),
(int)(rowColors[0].getBlue() * .95));
int width = 0;
TableColumn column = new TableColumn();
column.setCellRenderer(new KeyRenderer(rowColors));
column.setModelIndex(UIDefaultsTableModel.KEY_COLUMN);
column.setHeaderValue("Key");
column.setPreferredWidth(250);
columnModel.addColumn(column);
width += column.getPreferredWidth();
column = new TableColumn();
column.setCellRenderer(new RowRenderer(rowColors));
column.setModelIndex(UIDefaultsTableModel.TYPE_COLUMN);
column.setHeaderValue("Type");
column.setPreferredWidth(250);
columnModel.addColumn(column);
width += column.getPreferredWidth();
column = new TableColumn();
column.setCellRenderer(new ValueRenderer(rowColors));
column.setModelIndex(UIDefaultsTableModel.VALUE_COLUMN);
column.setHeaderValue("Value");
column.setPreferredWidth(300);
columnModel.addColumn(column);
width += column.getPreferredWidth();
table.setColumnModel(columnModel);
table.setPreferredScrollableViewportSize(new Dimension(width, 12 * rowHeight));