i have a small problem the component in the JFrame are not showing until i re-size the frame then all component are visible there are something is missing i don't know where can any one tell me where is the problem
import javax.swing.JPanel;
    import javax.swing.JScrollPane;
    import javax.swing.JTable;
    import javax.swing.JToolBar;
    import javax.swing.border.TitledBorder;
    /**
     *
     * @author isslam
     */
    public class swingInterface extends JFrame{
        JToolBar bar;
        //toolbar button
        JButton openButton,exitButton;
        JTable table;
        public swingInterface(){
        JFrame frame = new JFrame();
        frame.setVisible(true);
        frame.setSize(500,500);
        frame.setLocation(400, 100);
        frame.setLayout(new BorderLayout());
        frame.setDefaultCloseOperation(frame.EXIT_ON_CLOSE);
         // declration of bar
        bar = new JToolBar("still dragble");
        openButton = new JButton();
        exitButton = new JButton();
        openButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/res/open-file-icon.png")));
        exitButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/res/logout-icon.png")));
        bar.add(openButton);
        bar.add(exitButton);
        //panel for jtable
        String[] columnNames = {"First Name",
                            "Last Name",
                            "Sport",
                            "# of Years",
                            "Vegetarian"};
        Object[][] data = {
        {"Kathy", "Smith",
         "Snowboarding", new Integer(5), new Boolean(false)},
        {"John", "Doe",
         "Rowing", new Integer(3), new Boolean(true)},
        {"Sue", "Black",
         "Knitting", new Integer(2), new Boolean(false)},
        {"Jane", "White",
         "Speed reading", new Integer(20), new Boolean(true)},
        {"Joe", "Brown",
         "Pool", new Integer(10), new Boolean(false)}
    };
        table = new JTable(data,columnNames);
        JScrollPane spanel = new  JScrollPane(table);
        TitledBorder titled = new TitledBorder("Title");
        JPanel panel = new JPanel(new BorderLayout());
        panel.setBorder(titled); 
        panel.setBackground(pink);
         panel.add(spanel,BorderLayout.CENTER);
         frame.add(bar,BorderLayout.NORTH);
         frame.add(panel,BorderLayout.CENTER);
        }
    }