/**
* creates all the components in the frame
*/
protected void createPanel() {
JScrollPane pane;
setLayout(new BorderLayout());
menuItemMean = new JMenuItem("Get mean...");
menuItemMean.addActionListener(this);
menuItemSetAllValues = new JMenuItem("Set all values to...");
menuItemSetAllValues.addActionListener(this);
menuItemSetMissingValues = new JMenuItem("Set missing values to...");
menuItemSetMissingValues.addActionListener(this);
menuItemReplaceValues = new JMenuItem("Replace values with...");
menuItemReplaceValues.addActionListener(this);
menuItemRenameAttribute = new JMenuItem("Rename attribute...");
menuItemRenameAttribute.addActionListener(this);
menuItemAttributeAsClass = new JMenuItem("Attribute as class");
menuItemAttributeAsClass.addActionListener(this);
menuItemDeleteAttribute = new JMenuItem("Delete attribute");
menuItemDeleteAttribute.addActionListener(this);
menuItemDeleteAttributes = new JMenuItem("Delete attributes...");
menuItemDeleteAttributes.addActionListener(this);
menuItemSortInstances = new JMenuItem("Sort data (ascending)");
menuItemSortInstances.addActionListener(this);
menuItemOptimalColWidth = new JMenuItem("Optimal column width (current)");
menuItemOptimalColWidth.addActionListener(this);
menuItemOptimalColWidths = new JMenuItem("Optimal column width (all)");
menuItemOptimalColWidths.addActionListener(this);
// row popup
menuItemUndo = new JMenuItem("Undo");
menuItemUndo.addActionListener(this);
menuItemCopy = new JMenuItem("Copy");
menuItemCopy.addActionListener(this);
menuItemSearch = new JMenuItem("Search...");
menuItemSearch.addActionListener(this);
menuItemClearSearch = new JMenuItem("Clear search");
menuItemClearSearch.addActionListener(this);
menuItemDeleteSelectedInstance = new JMenuItem("Delete selected instance");
menuItemDeleteSelectedInstance.addActionListener(this);
menuItemDeleteAllSelectedInstances = new JMenuItem("Delete ALL selected instances");
menuItemDeleteAllSelectedInstances.addActionListener(this);
// table
m_TableArff = new ArffTable();
m_TableArff.setToolTipText("Right click (or left+alt) for context menu");
m_TableArff.getTableHeader().addMouseListener(this);
m_TableArff.getTableHeader().setToolTipText("<html><b>Sort view:</b> left click = ascending / Shift + left click = descending<br><b>Menu:</b> right click (or left+alt)</html>");
m_TableArff.getTableHeader().setDefaultRenderer(new ArffTableCellRenderer());
m_TableArff.addChangeListener(this);
m_TableArff.addMouseListener(this);
pane = new JScrollPane(m_TableArff);
add(pane, BorderLayout.CENTER);
// relation name
m_LabelName = new JLabel();
add(m_LabelName, BorderLayout.NORTH);