SplitPaneLayoutData splitPaneLayoutData = new SplitPaneLayoutData();
splitPaneLayoutData.setInsets(new Insets(10, 5));
testColumn.setLayoutData(splitPaneLayoutData);
add(testColumn);
ButtonColumn controlsColumn;
controlsColumn = new ButtonColumn();
groupContainerColumn.add(controlsColumn);
controlsColumn.add(new Label("TableModel"));
controlsColumn.addButton("Multiplication Model", new ActionListener() {
public void actionPerformed(ActionEvent e) {
testTable.setModel(new MultiplicationTableModel());
}
});
controlsColumn.addButton("DefaultTableModel (Empty)", new ActionListener() {
public void actionPerformed(ActionEvent e) {
testTable.setModel(new DefaultTableModel());
}
});
controlsColumn.addButton("DefaultTableModel (Employees)", new ActionListener() {
public void actionPerformed(ActionEvent e) {
testTable.setModel(createEmployeeTableModel());
}
});
testTable = new Table();
testTable.setBorder(new Border(new Extent(1), Color.BLUE, Border.STYLE_SOLID));
testColumn.add(testTable);
controlsColumn.add(new Label("Appearance"));
controlsColumn.addButton("Change Foreground", new ActionListener() {
public void actionPerformed(ActionEvent e) {
testTable.setForeground(StyleUtil.randomColor());
}
});
controlsColumn.addButton("Change Background", new ActionListener() {
public void actionPerformed(ActionEvent e) {
testTable.setBackground(StyleUtil.randomColor());
}
});
controlsColumn.addButton("Change Border (All Attributes)", new ActionListener() {
public void actionPerformed(ActionEvent e) {
testTable.setBorder(StyleUtil.randomBorder());
}
});
controlsColumn.addButton("Change Border Color", new ActionListener() {
public void actionPerformed(ActionEvent e) {
Border border = testTable.getBorder();
testTable.setBorder(new Border(border.getSize(), StyleUtil.randomColor(), border.getStyle()));
}
});
controlsColumn.addButton("Change Border Size", new ActionListener() {
public void actionPerformed(ActionEvent e) {
testTable.setBorder(StyleUtil.nextBorderSize(testTable.getBorder()));
}
});
controlsColumn.addButton("Change Border Style", new ActionListener() {
public void actionPerformed(ActionEvent e) {
testTable.setBorder(StyleUtil.nextBorderStyle(testTable.getBorder()));
}
});
controlsColumn.addButton("Set Insets 0px", new ActionListener() {
public void actionPerformed(ActionEvent e) {
testTable.setInsets(new Insets(0));
}
});
controlsColumn.addButton("Set Insets 2px", new ActionListener() {
public void actionPerformed(ActionEvent e) {
testTable.setInsets(new Insets(2));
}
});
controlsColumn.addButton("Set Insets 10/5px", new ActionListener() {
public void actionPerformed(ActionEvent e) {
testTable.setInsets(new Insets(10, 5));
}
});
controlsColumn.addButton("Set Insets 10/20/30/40px", new ActionListener() {
public void actionPerformed(ActionEvent e) {
testTable.setInsets(new Insets(10, 20, 30, 40));
}
});
controlsColumn.addButton("Set Width = null", new ActionListener() {
public void actionPerformed(ActionEvent e) {
testTable.setWidth(null);
}
});
controlsColumn.addButton("Set Width = 500px", new ActionListener() {
public void actionPerformed(ActionEvent e) {
testTable.setWidth(new Extent(500));
}
});
controlsColumn.addButton("Set Width = 100%", new ActionListener() {
public void actionPerformed(ActionEvent e) {
testTable.setWidth(new Extent(100, Extent.PERCENT));
}
});
controlsColumn.addButton("Set ColumnWidths Equal", new ActionListener() {
public void actionPerformed(ActionEvent e) {
TableColumnModel columnModel = testTable.getColumnModel();
int columnCount = columnModel.getColumnCount();
if (columnCount > 0) {
Extent width = new Extent(100 / columnCount, Extent.PERCENT);
for (int i = 0; i < columnCount; ++i) {
columnModel.getColumn(i).setWidth(width);
}
}
}
});
controlsColumn.addButton("Toggle Header Visible", new ActionListener() {
public void actionPerformed(ActionEvent e) {
testTable.setHeaderVisible(!testTable.isHeaderVisible());
}
});
controlsColumn.addButton("Toggle Enabled State", new ActionListener() {
public void actionPerformed(ActionEvent e) {
testTable.setEnabled(!testTable.isEnabled());
}
});
// Rollover Effect Settings
controlsColumn = new ButtonColumn();
groupContainerColumn.add(controlsColumn);
controlsColumn.add(new Label("Rollover Effects"));
controlsColumn.addButton("Enable Rollover Effects", new ActionListener() {
public void actionPerformed(ActionEvent e) {
testTable.setRolloverEnabled(true);
}
});
controlsColumn.addButton("Disable Rollover Effects", new ActionListener() {
public void actionPerformed(ActionEvent e) {
testTable.setRolloverEnabled(false);
}
});
controlsColumn.addButton("Set Rollover Foreground", new ActionListener() {
public void actionPerformed(ActionEvent e) {
testTable.setRolloverForeground(StyleUtil.randomColor());
}
});
controlsColumn.addButton("Clear Rollover Foreground", new ActionListener() {
public void actionPerformed(ActionEvent e) {
testTable.setRolloverForeground(null);
}
});
controlsColumn.addButton("Set Rollover Background", new ActionListener() {
public void actionPerformed(ActionEvent e) {
testTable.setRolloverBackground(StyleUtil.randomColor());
}
});
controlsColumn.addButton("Clear Rollover Background", new ActionListener() {
public void actionPerformed(ActionEvent e) {
testTable.setRolloverBackground(null);
}
});
controlsColumn.addButton("Set Rollover Font", new ActionListener() {
public void actionPerformed(ActionEvent e) {
testTable.setRolloverFont(StyleUtil.randomFont());
}
});
controlsColumn.addButton("Clear Rollover Font", new ActionListener() {
public void actionPerformed(ActionEvent e) {
testTable.setRolloverFont(null);
}
});
controlsColumn.addButton("Set Rollover Background Image", new ActionListener() {
public void actionPerformed(ActionEvent e) {
testTable.setRolloverBackgroundImage(Styles.BG_SHADOW_LIGHT_BLUE);
}
});
controlsColumn.addButton("Clear Rollover Background Image", new ActionListener() {
public void actionPerformed(ActionEvent e) {
testTable.setRolloverBackgroundImage(null);
}
});
// Selection Settings
controlsColumn = new ButtonColumn();
groupContainerColumn.add(controlsColumn);
controlsColumn.add(new Label("Selection"));
controlsColumn.addButton("Enable Selection", new ActionListener() {
public void actionPerformed(ActionEvent e) {
testTable.setSelectionEnabled(true);
}
});
controlsColumn.addButton("Disable Selection", new ActionListener() {
public void actionPerformed(ActionEvent e) {
testTable.setSelectionEnabled(false);
}
});
controlsColumn.addButton("Set SelectionMode = Single", new ActionListener() {
public void actionPerformed(ActionEvent e) {
testTable.getSelectionModel().setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
}
});
controlsColumn.addButton("Set SelectionMode = Multiple", new ActionListener() {
public void actionPerformed(ActionEvent e) {
testTable.getSelectionModel().setSelectionMode(ListSelectionModel.MULTIPLE_SELECTION);
}
});
controlsColumn.addButton("Toggle Selection of Row #2", new ActionListener() {
public void actionPerformed(ActionEvent e) {
ListSelectionModel selectionModel = testTable.getSelectionModel();
selectionModel.setSelectedIndex(2, !selectionModel.isSelectedIndex(2));
}
});
controlsColumn.addButton("Toggle Selection of Row #500 (there isn't one)", new ActionListener() {
public void actionPerformed(ActionEvent e) {
ListSelectionModel selectionModel = testTable.getSelectionModel();
selectionModel.setSelectedIndex(500, !selectionModel.isSelectedIndex(500));
}
});
controlsColumn.addButton("Set Selection Foreground", new ActionListener() {
public void actionPerformed(ActionEvent e) {
testTable.setSelectionForeground(StyleUtil.randomColor());
}
});
controlsColumn.addButton("Clear Selection Foreground", new ActionListener() {
public void actionPerformed(ActionEvent e) {
testTable.setSelectionForeground(null);
}
});
controlsColumn.addButton("Set Selection Background", new ActionListener() {
public void actionPerformed(ActionEvent e) {
testTable.setSelectionBackground(StyleUtil.randomColor());
}
});
controlsColumn.addButton("Clear Selection Background", new ActionListener() {
public void actionPerformed(ActionEvent e) {
testTable.setSelectionBackground(null);
}
});
controlsColumn.addButton("Set Selection Font", new ActionListener() {
public void actionPerformed(ActionEvent e) {
testTable.setSelectionFont(StyleUtil.randomFont());
}
});
controlsColumn.addButton("Clear Selection Font", new ActionListener() {
public void actionPerformed(ActionEvent e) {
testTable.setSelectionFont(null);
}
});
controlsColumn.addButton("Set Selection Background Image", new ActionListener() {
public void actionPerformed(ActionEvent e) {
testTable.setSelectionBackgroundImage(Styles.BUTTON_PRESSED_BACKGROUND_IMAGE);
}
});
controlsColumn.addButton("Clear Selection Background Image", new ActionListener() {
public void actionPerformed(ActionEvent e) {
testTable.setSelectionBackgroundImage(null);
}
});
// Listener Settings
controlsColumn = new ButtonColumn();
groupContainerColumn.add(controlsColumn);
controlsColumn.add(new Label("Listeners"));
controlsColumn.addButton("Add ActionListener", new ActionListener() {
public void actionPerformed(ActionEvent e) {
testTable.addActionListener(actionListener);
}
});
controlsColumn.addButton("Remove ActionListener", new ActionListener() {
public void actionPerformed(ActionEvent e) {
testTable.removeActionListener(actionListener);
}
});
controlsColumn.addButton("Add ChangeListener", new ActionListener() {
public void actionPerformed(ActionEvent e) {
testTable.getSelectionModel().addChangeListener(changeListener);
}
});
controlsColumn.addButton("Remove ChangeListener", new ActionListener() {
public void actionPerformed(ActionEvent e) {
testTable.getSelectionModel().removeChangeListener(changeListener);
}
});
// Cell Settings
controlsColumn = new ButtonColumn();
groupContainerColumn.add(controlsColumn);
controlsColumn.add(new Label("Cell Renderer"));
controlsColumn.addButton("Default Cell Renderer", new ActionListener() {
public void actionPerformed(ActionEvent e) {
testTable.setDefaultRenderer(Object.class, new DefaultTableCellRenderer());
}
});
controlsColumn.addButton("Randomizing Cell Renderer", new ActionListener() {
public void actionPerformed(ActionEvent e) {
testTable.setDefaultRenderer(Object.class, randomizingCellRenderer);
}
});
controlsColumn.addButton("BackgroundImage Checker Cell Renderer", new ActionListener() {
public void actionPerformed(ActionEvent e) {
testTable.setDefaultRenderer(Object.class, backgroundImageCheckerCellRenderer);
}
});
controlsColumn.addButton("Visibility Checker Cell Renderer", new ActionListener() {
public void actionPerformed(ActionEvent e) {
testTable.setDefaultRenderer(Object.class, visibilityCheckerCellRenderer);
}
});
controlsColumn.addButton("Editing Cell Renderer (not bound to model)", new ActionListener() {
public void actionPerformed(ActionEvent e) {
testTable.setDefaultRenderer(Object.class, editingTableCellRenderer);
}
});
controlsColumn.addButton("Alignment = Leading/Top", new ActionListener() {
public void actionPerformed(ActionEvent e) {
testTable.setDefaultRenderer(Object.class,
createTableCellRenderer(new Alignment(Alignment.LEADING, Alignment.TOP)));
}
});
controlsColumn.addButton("Alignment = Trailing/Bottom", new ActionListener() {
public void actionPerformed(ActionEvent e) {
testTable.setDefaultRenderer(Object.class,
createTableCellRenderer(new Alignment(Alignment.TRAILING, Alignment.BOTTOM)));
}
});
controlsColumn.addButton("Alignment = Left/Top", new ActionListener() {
public void actionPerformed(ActionEvent e) {
testTable.setDefaultRenderer(Object.class,
createTableCellRenderer(new Alignment(Alignment.LEFT, Alignment.TOP)));
}
});
controlsColumn.addButton("Alignment = Right/Bottom", new ActionListener() {
public void actionPerformed(ActionEvent e) {
testTable.setDefaultRenderer(Object.class,
createTableCellRenderer(new Alignment(Alignment.RIGHT, Alignment.BOTTOM)));
}
});