There are two ways for you. The more difficult one, from the JTable API:
"Note that if you wish to use a JTable in a standalone view (outside of a JScrollPane) and want the header displayed, you can get it using getTableHeader() and display it separately."
Would look something like that:
JTableHeader header = table.getTableHeader();
mainBackgroundManager.add(header, BorderLayout.NORTH);
mainBackgroundManager.add(table, BorderLayout.CENTER);
The easier one (prefered):
Put your JTable
inside a JScrollPane
. Try this:
mainBackgroundManager.add(new JScrollPane(table), BorderLayout.CENTER);