I'm having a problem putting the JTable on a JPanel. The table shows but I can't move it because the scroll pane didn't show. PLEASE HELP.
Here's my code. The main class was not here by the way. This is just part of the project.
------------------------



 import java.awt.*;
import java.sql.*;
import java.util.*;

import javax.swing.*;
import javax.swing.table.*;

public class ViewAll extends JLabel{
ImageIcon background = new ImageIcon("images//black.jpeg");


JLabel backgroundL = new JLabel(background);
JPanel adminP = new JPanel();
    public ViewAll(){
        ArrayList columnNames = new ArrayList();
        ArrayList data = new ArrayList();

        //  Connect to an MySQL Database, run query, get result set
        String url = "jdbc:mysql://localhost/lester";
        String userid = "root";
        String password = "";
        String sql = "SELECT * FROM customers ORDER BY name";

        // Java SE 7 has try-with-resources
        // This will ensure that the sql objects are closed when the program 
        // is finished with them
        try (Connection connection = DriverManager.getConnection( url, userid, password );
            Statement stmt = connection.createStatement();
            ResultSet rs = stmt.executeQuery( sql ))
        {
            ResultSetMetaData md = rs.getMetaData();
            int columns = md.getColumnCount();

            //  Get column names
            for (int i = 1; i <= columns; i++)
            {
                columnNames.add(md.getColumnName(i));
            }

            //  Get row data
            while (rs.next())
            {
                ArrayList row = new ArrayList(columns);

                for (int i = 1; i <= columns; i++)
                {
                    row.add( rs.getObject(i) );
                }

                data.add( row );
            }
        }
        catch (SQLException e)
        {
            System.out.println( e.getMessage() );
        }

        // Create Vectors and copy over elements from ArrayLists to them
        // Vector is deprecated but I am using them in this example to keep 
        // things simple - the best practice would be to create a custom defined
        // class which inherits from the AbstractTableModel class
        Vector columnNamesVector = new Vector();
        Vector dataVector = new Vector();

        for (int i = 0; i < data.size(); i++)
        {
            ArrayList subArray = (ArrayList)data.get(i);
            Vector subVector = new Vector();
            for (int j = 0; j < subArray.size(); j++)
            {
                subVector.add(subArray.get(j));
            }
            dataVector.add(subVector);
        }

        for (int i = 0; i < columnNames.size(); i++ )
            columnNamesVector.add(columnNames.get(i));

        //  Create table with database data    
        JTable table = new JTable(dataVector, columnNamesVector)
        {
            public Class getColumnClass(int column)
            {
                for (int row = 0; row < getRowCount(); row++)
                {
                    Object o = getValueAt(row, column);

                    if (o != null)
                    {
                        return o.getClass();
                    }
                }

                return Object.class;
            }
        };
        
        table.setFont(new Font("Times New Roman", Font.BOLD, 20));

        adminP.setLayout(null);
adminP.setBounds(0,95,1360,720);
adminP.setOpaque(false);
        
        JScrollPane scrollPane = new JScrollPane(table);
        add( scrollPane );
        
        JPanel buttonPanel = new JPanel();
        add( buttonPanel, BorderLayout.SOUTH );
        table.setBounds(10, 10, 1200, 700);
        add(table);
        add(adminP);
        
    }

    
}