Currently I have a client that contains two panels... one is the main game and the other is a side panel containing tools. The side panel can be shown/hid (thus making the frame only show the game).
            activateSidePanel.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                if (sp) {
                    frame.remove(enhancedPanel);
                    frame.repaint();
                    frame.pack();
                    sp = false;
                } else if (!sp) {
                    frame.add(enhancedPanel);
                    frame.repaint();
                    frame.pack();
                    sp = true;
                }
            }
        });
That is my action listener for the button. The button hides correctly, however it doesn't show. When I click the button again it just makes the frame smaller and does not bring back the side panel. Confused on this one.