Unless you are sub-classing a swing component you should not be trying to set the size. If you are sub-classing then you should over-ride getPreferedSize() to get the correct size you need.
You don’t need to repaint everywhere. Repaint cascades down the hierarchy. Just repaint from the top most point you need to. If you have multiple custom components that need repainting then you might want to think about only having one.
Would need a specific example to comment.
Agreed.
If you are opening a dialog that needs a JFrame you can either pass null or create a dialog builder class that contains static methods but you set it up in the JFrame and pass a reference to the JFrame object.
You should never put anything directly on a JFrame other than menus. If you want to make your application applet friendly you should build your app from a JPanel down and then you can use that JPanel in either a JFrame or JApplet.
See one of the TableLayout backends for how to extend it for a UI toolkit. Eg, here is the scene2d Toolkit impl: