private void initialize() {
        frmVotingParticipants = new JFrame();
        frmVotingParticipants.setTitle("Voting Participants");
        frmVotingParticipants.setBounds(100, 100, 684, 528);
        frmVotingParticipants.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        
        model.addTableModelListener(new TableModelListener() {
            public void tableChanged(TableModelEvent e) {
                int row = e.getFirstRow();
                int column = e.getColumn();
                
                if (row >= 0 && column >= 0) {
                    if (model.getValueAt(row, column) != null) {
                        switch(column) {
                            case 0: participants.get(row).setParticipantName((String)model.getValueAt(row, column));
                                    break;
                            /*case 1: participants.get(row).getTeam().setName(((String)model.getValueAt(row, column)));
                                    break;*/ // FIXME Team (uncomment): change the team name with the table value
                            case 1: participants.get(row).setPoints(participants.get(row).getPoints() + (Integer)model.getValueAt(row, column));
                                    model.setValueAt(participants.get(row).getPoints(), row, 2);
                                    break;
                            case 2: participants.get(row).setPoints((Integer)model.getValueAt(row, column));
                                    break;
                            default: break;
                        }
                        model.setValueAt(null, row, 1); // 1 is points column
                    }
                }
                
            }
        });
        
        menuBar = new JMenuBar();
        frmVotingParticipants.setJMenuBar(menuBar);
        
        toolBar = new JToolBar();
        toolBar.setFocusable(false);
        toolBar.setAlignmentX(Component.LEFT_ALIGNMENT);
        toolBar.setAlignmentY(Component.CENTER_ALIGNMENT);
        toolBar.setFloatable(false);
        toolBar.setRollover(true);
        frmVotingParticipants.getContentPane().add(toolBar, BorderLayout.NORTH);
        
        btnDisplayResults = toolBar.add(displayResultsAction);
        btnDisplayResults.setHorizontalTextPosition(SwingConstants.TRAILING);
        btnDisplayResults.setHorizontalAlignment(SwingConstants.LEFT);
        btnDisplayResults.setIconTextGap(5);
        btnDisplayResults.setIcon(new ImageIcon(VotingSettings.class.getResource("/images/Refresh.png")));
        btnDisplayResults.setBorder(UIManager.getBorder("Button.border"));
        btnDisplayResults.setFocusable(false);
        btnDisplayResults.setMargin(new Insets(0, 5, 0, 10));
        btnDisplayResults.setToolTipText("Display results in a new window");
        btnDisplayResults.setText("Display Results");
        btnDisplayResults.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent arg0) {
                displayResults();
            }
        });
        
        separator = new JSeparator();
        separator.setMaximumSize(new Dimension(2, 32767));
        separator.setOrientation(SwingConstants.VERTICAL);
        toolBar.add(separator);
        
        btnAddParticipant = toolBar.add(addParticipantAction);
        btnAddParticipant.setIconTextGap(5);
        btnAddParticipant.setHorizontalTextPosition(SwingConstants.TRAILING);
        btnAddParticipant.setHorizontalAlignment(SwingConstants.LEFT);
        btnAddParticipant.setIcon(new ImageIcon(VotingSettings.class.getResource("/images/Add.png")));
        btnAddParticipant.setFocusable(false);
        btnAddParticipant.setToolTipText("Add new participant");
        btnAddParticipant.setMargin(new Insets(0, 10, 0, 5));
        btnAddParticipant.setFocusPainted(false);
        btnAddParticipant.setText("Add Participant");
        
        btnRemoveParticipants = toolBar.add(removeSelectedAction);
        btnRemoveParticipants.setIcon(new ImageIcon(VotingSettings.class.getResource("/images/Delete.png")));
        btnRemoveParticipants.setHorizontalAlignment(SwingConstants.LEFT);
        btnRemoveParticipants.setIconTextGap(5);
        btnRemoveParticipants.setHorizontalTextPosition(SwingConstants.TRAILING);
        btnRemoveParticipants.setFocusable(false);
        btnRemoveParticipants.setToolTipText("Remove selected participants");
        btnRemoveParticipants.setMargin(new Insets(0, 5, 0, 5));
        btnRemoveParticipants.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                removeSelected();
            }
        });
        //btnRemoveParticipants.setActionCommand("Remove Selected");
        btnRemoveParticipants.setFocusPainted(false);
        btnRemoveParticipants.setText("Remove Selected");
        
        btnAddParticipant.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent arg0) {
                addParticipant();
            }
        });
        
        scrollPane = new JScrollPane();
        frmVotingParticipants.getContentPane().add(scrollPane, BorderLayout.CENTER);
        
        table = new JTable(model);
        scrollPane.setViewportView(table);
        
        //bottomToolBar.add(Box.createHorizontalGlue());
        
        // FIXME Teams (uncomment): refresh teams on startup
        /*table.getColumnModel().getColumn(3).setMaxWidth(75);
        table.getColumnModel().getColumn(2).setMaxWidth(75);
         * refreshTeams();*/
        
        table.getColumnModel().getColumn(2).setMaxWidth(75);
        table.getColumnModel().getColumn(1).setMaxWidth(75);
        
        mnFileMenu = new JMenu("File");
        mnFileMenu.setMnemonic('F');
        mnFileMenu.setActionCommand("Menu");
        menuBar.add(mnFileMenu);
        
        //Save to xml menu item
        EditListener mnListener = new EditListener();
        mntmSave = new JMenuItem("Save", KeyEvent.VK_S);
        mntmSave.setMnemonic('S');
        mntmSave.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S, Event.CTRL_MASK));
        mntmSave.addActionListener(mnListener);
        mnFileMenu.add(mntmSave);
        
        //Load to xml menu item
        mntmLoad = new JMenuItem("Load", KeyEvent.VK_L);
        mntmLoad.setMnemonic('L');
        mntmLoad.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_L, Event.CTRL_MASK));
        mntmLoad.addActionListener(mnListener);
        mnFileMenu.add(mntmLoad);
        
        mnSettings = new JMenu("Settings");
        mnSettings.setMnemonic('S');
        menuBar.add(mnSettings);
        
        mntmResultDisplay = new JMenuItem("Result Display", KeyEvent.VK_R);
        mntmResultDisplay.setMnemonic('R');
        mntmResultDisplay.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_R, Event.CTRL_MASK));
        mntmResultDisplay.addActionListener(mnListener);
        mnSettings.add(mntmResultDisplay);
        
        /*mnHelp = new JMenu("Help");
        mnHelp.setMnemonic('H');
        menuBar.add(mnHelp);
        
        mntmUsage = new JMenuItem("Usage", KeyEvent.VK_U);
        mntmResultDisplay.setMnemonic('U');
        mntmUsage.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_U, Event.CTRL_MASK));
        mntmUsage.addActionListener(mnListener);
        mnHelp.add(mntmUsage);*/
        
        //FIXME Teams (uncomment): enable team management menu item
        /*mntmManageTeams = new JMenuItem("Manage Teams");
        mntmManageTeams.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                ManageTeams manageTeams = new ManageTeams(null, teams);
                ArrayList<Team> tempTeams = manageTeams.showDialog();

                if (tempTeams != null)
                    teams = cloneTeams(tempTeams);
                
                refreshTeams();
            }
        });
        mntmManageTeams.setAction(manageTeamsAction);
        mnMenu.add(mntmManageTeams);
        final AddParticipant participantDialog = new AddParticipant(frmVotingParticipants, true);
        participantDialog.pack();*/
    }