@Override public Component getOptionsPanel() { JPanel panel = new JPanel(new GridLayout(0, 1, 4, 4)); final JCheckBox hideOriginalTableHeader = new JCheckBox("Hide the original table header"); hideOriginalTableHeader.addItemListener( new ItemListener() { public void itemStateChanged(ItemEvent e) { JTableHeader header = _table.getTableHeader(); if (header instanceof NestedTableHeader) { ((NestedTableHeader) header) .setOriginalTableHeaderVisible(!hideOriginalTableHeader.isSelected()); } } }); panel.add(hideOriginalTableHeader); final JCheckBox autoStartCellEditing = new JCheckBox("Auto-start editing when TAB or ENTER"); autoStartCellEditing.addItemListener( new ItemListener() { public void itemStateChanged(ItemEvent e) { _table.setAutoStartCellEditing(autoStartCellEditing.isSelected()); } }); autoStartCellEditing.setSelected(_table.isAutoStartCellEditing()); panel.add(autoStartCellEditing); final JCheckBox autoSelectTextWhenStartsEditing = new JCheckBox("Auto-select the cell text when editing"); autoSelectTextWhenStartsEditing.addItemListener( new ItemListener() { public void itemStateChanged(ItemEvent e) { _table.setAutoSelectTextWhenStartsEditing(autoSelectTextWhenStartsEditing.isSelected()); } }); autoSelectTextWhenStartsEditing.setSelected(_table.isAutoSelectTextWhenStartsEditing()); panel.add(autoSelectTextWhenStartsEditing); final JCheckBox enable = new JCheckBox("Enable Table"); enable.addItemListener( new ItemListener() { public void itemStateChanged(ItemEvent e) { _table.setEnabled(enable.isSelected()); } }); enable.setSelected(_table.isEnabled()); panel.add(enable); JCheckBox columnAutoResizable = new JCheckBox("Column Auto Resizable"); columnAutoResizable.addItemListener( new ItemListener() { public void itemStateChanged(ItemEvent e) { boolean selected = e.getStateChange() == ItemEvent.SELECTED; _table.setColumnAutoResizable(selected); _table.setAutoResizeMode( selected ? JTable.AUTO_RESIZE_OFF : JTable.AUTO_RESIZE_ALL_COLUMNS); } }); columnAutoResizable.setSelected(_table.isColumnAutoResizable()); panel.add(columnAutoResizable); JComboBox autoCompletionModeComboBox = new JComboBox( new Object[] { "Disabled", "Cells in the same column", "Cells in the same row", "All cells" }); autoCompletionModeComboBox.setSelectedIndex(_table.getEditorAutoCompletionMode()); autoCompletionModeComboBox.addItemListener( new ItemListener() { public void itemStateChanged(ItemEvent e) { if (e.getStateChange() == ItemEvent.SELECTED) { _table.setEditorAutoCompletionMode(((JComboBox) e.getSource()).getSelectedIndex()); } } }); panel.add( JideSwingUtilities.createLabeledComponent( new JLabel("AutoCompletion Mode: "), autoCompletionModeComboBox, BorderLayout.BEFORE_LINE_BEGINS)); return panel; }