title: Java JTable not visible
body: <p>I am creating an address book, and have a lot of the functionality in place. However the actual table cannot be seen. The data is there. I can save it and load it, but I can't actually see any data. I have tried lots of things, the <code>setContentPane()</code> is being one. I have also spent time on the Oracle website but to no avail. I have the sample table which shows the table, and tried to copy some code but again, no avail. </p>
  
  <pre><code>public AddressBookGUI()
  {
      /*
       * Initialise
       */
  
      addresses = new ArrayList&lt;Person&gt;();
      Person a = new Person("Kathy", "Smith", "1 mith Sqaoiudh", "Lonodn", "London", "BN76 8QQ", "01980472", "LKSJ@kied.con");
      addresses.add(a);
      addressBook = new AddressBook(addresses, columnNames);
  
  //  JTable addressTable = new JTable(new TableModel());
      //addressTable.setModel(new addressTable.TableModel());
  
      createAddAddressFrame();
      createEditAddressFrame();
      createDeleteAddressFrame();
      createAddressBookFrame();
  }
  
  //Create the address book frame
  private void createAddressBookFrame() {
  
      //Create frame
      addressBookFrame = new JFrame("My Address Book");
  
      //Create menu bar
      mb = new JMenuBar();
  
      //Create file menu
      fileMenu = new JMenu("File");
          anew = new JMenuItem("New");
          open = new JMenuItem("Open");
          save = new JMenuItem("Save");
          saveAs = new JMenuItem("Save As");
          print = new JMenuItem("Print");
          quit = new JMenuItem("Quit");
  
      //Create edit menu
      editMenu = new JMenu("Edit");
          sort = new JMenu("Sort");
              byName = new JMenuItem("By Name");
              byPC = new JMenuItem("By Post Code");
          editSelectedPerson = new JMenuItem("Edit Selected Person");
          find = new JMenuItem("Find");
          findAgain = new JMenuItem("Find Again");
      //Add menu items to menu bar and menu
          mb.add(fileMenu);
          fileMenu.add(anew);
          fileMenu.add(open);
          fileMenu.add(save);
          fileMenu.add(saveAs);
          fileMenu.addSeparator();
          fileMenu.add(print);
          fileMenu.add(quit);
      mb.add(editMenu);
          editMenu.add(editSelectedPerson);
          editMenu.add(sort);
              sort.add(byName);
              sort.add(byPC);
          editMenu.addSeparator();
          editMenu.add(find);
          editMenu.add(findAgain);
  
      //Set menu bar
      addressBookFrame.setJMenuBar(mb);
  
      //Add buttons to bottom of frame
      buttonPanel = new JPanel();
      buttonPanel.setLayout(new FlowLayout(FlowLayout.LEFT));
  
      //Add buttons
      addButton = new JButton("Add");
      editButton = new JButton("Edit...");
      deleteButton = new JButton("Delete");
      buttonPanel.add(addButton);
      buttonPanel.add(editButton);
      buttonPanel.add(deleteButton);
  
      //Add button panel
      addressBookFrame.add(buttonPanel, BorderLayout.SOUTH);
  
      //Add action Listeners
      //BUTTONS
      //Add
      class addListener implements ActionListener
      {
          public void actionPerformed (ActionEvent e)
          {
              //Set text of JTextFields
              addAddressFrame.setVisible(true);
          }
      }
      ActionListener addList = new addListener();
      addButton.addActionListener(addList);
  
      //Edit
      class editListener implements ActionListener
      {
          public void actionPerformed (ActionEvent e)
          {
              row = myTable.getSelectedRow();
              if (row != -1) {
                  //jtf1.setText((String)addressBook.getValueAt(row, 0));
                  //repeat
              }
          }
      }
      ActionListener editList = new editListener();
      editButton.addActionListener(editList);
  
      //Delete
      class delListener implements ActionListener
      {
          public void actionPerformed (ActionEvent e)
          {
              row = myTable.getSelectedRow();
              if (row != -1) {
                  deleteAddressFrame.setVisible(true);
              }
          }
      }
      ActionListener delList = new delListener();
      deleteButton.addActionListener(delList);
  
  
      //MENU ITEMS
      //New
      class newListener implements ActionListener
      {
          public void actionPerformed (ActionEvent e)
          {
              addresses.clear();
              refreshAddressBook();
          }
      }
      ActionListener newList = new newListener();
      anew.addActionListener(newList);
  
      //open
      class openListener implements ActionListener
      {
          public void actionPerformed (ActionEvent e)
          {
              addresses.clear();
              loadFile();
          }
      }
      ActionListener openList = new openListener();
      open.addActionListener(openList);
  
      //save
      class saveListener implements ActionListener
      {
          public void actionPerformed (ActionEvent e)
          {
  
          }
      }
      ActionListener saveList = new saveListener();
      save.addActionListener(saveList);
  
      //save as
      class saveAsListener implements ActionListener
      {
          public void actionPerformed (ActionEvent e)
          {
              saveToFile();
          }
      }
      ActionListener saveAsList = new saveAsListener();
      saveAs.addActionListener(saveAsList);
  
      //print
      class printListener implements ActionListener
      {
          public void actionPerformed (ActionEvent e)
          {
              printAddresses();
          }
      }
      ActionListener printList = new printListener();
      print.addActionListener(printList);
  
      //quit
      class quitListener implements ActionListener
      {
          public void actionPerformed (ActionEvent e)
          {
              System.exit(0);
          }
      }
      ActionListener quitList = new quitListener();
      quit.addActionListener(quitList);
  
      //edit selected person
      class espListener implements ActionListener
      {
          public void actionPerformed (ActionEvent e)
          {
  
          }
      }
      ActionListener espList = new espListener();
      editSelectedPerson.addActionListener(espList);
  
      //sort by name
      class sbnListener implements ActionListener
      {
          public void actionPerformed (ActionEvent e)
          {
              sortByName();
          }
      }
      ActionListener sbnList = new sbnListener();
      byName.addActionListener(sbnList);
  
      //sort by post code
      class sbpcListener implements ActionListener
      {
          public void actionPerformed (ActionEvent e)
          {
              }
      }
      ActionListener sbpcList = new sbpcListener();
      byPC.addActionListener(sbpcList);
  
      //find
      class findListener implements ActionListener
      {
          public void actionPerformed (ActionEvent e)
          {
              }
      }
      ActionListener findList = new findListener();
      find.addActionListener(findList);
  
      //find again
      class findAgainListener implements ActionListener
      {
          public void actionPerformed (ActionEvent e)
          {
              }
      }
      ActionListener findAgainList = new findAgainListener();
      findAgain.addActionListener(findAgainList);
  
      myTable = new JTable();
      myTable.setPreferredScrollableViewportSize(new Dimension(500,800));
      myTable.setFillsViewportHeight(true);
      //myTable.setModel(addressBook);
  
      JScrollPane scrollPane = new JScrollPane(myTable);
      scrollPane.setOpaque(true);
      addressBookFrame.add(scrollPane, BorderLayout.CENTER);
      //addressBookFrame.add(myTable, BorderLayout.CENTER);
  
      //FInally show the address book
      addressBookFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      addressBookFrame.setTitle("My Address Book");
      addressBookFrame.setSize(800, 400);
      addressBookFrame.setVisible(true);  
  
  }
  </code></pre>