It is probably a good discipline to create GUIs without extending any display classes, except possibly to override paintComponent and a few other methods mentioned in this thread. It is probably another good discipline not to let NetBeans confuse your code by adding all sorts of things to it while you are not watching. But those two things don't affect the above code, which ain't right. You are creating a table object (that should read Table) but not giving it a size (line 143). You then create a second table object in line 144 and give it a size, but never set it visible. You only want one table object.
Les, I would recommend against calling pack() or setVisible() in the constructor, because a constructor should do nothing more than set up the object, while these two methods may kick off new threads. If you don't want to extend JFrame (I'm ambivalent about this, but Campbell discourages extending), call setVisible() and pack() in a separate show() method.
Even though most of the time it seems to work, I also recommend calling these methods on the EDT:
I said probably. I think you will learn better programming if you only extend classes when you have to. But I am not going to try to be definite about this.
You can extend frame to add components to it. Or you can have a method which adds the same components. Why extend when you can do the same without extending?
You can extend frame to add business logic to it. Now that is bad design indeed.