Frame and JFrame are worthless without the support structure that precedes them. These include four interfaces and hundreds of methods and fields. Trying to build this environment for each GUI application as it becomes necessary is impossible. Even copying methods from one application to another may result in errors.
The only truly effective procedure is to design the framework first, then any kind of GUI application may live inside. This is exactly what the designers of the language did.
The same holds true for backend application development.
A basic support system for an application includes an operating system, access methods (file/DBMS) and communication facilities. These comprise the concrete and steel infrastructure of software systems.
Additional necessities include logging, messaging, event timing/monitoring, tuning/statistics, anomaly notification, recovery/restart, real time swapping of modules and many more.
Trying to put these in later is awkward and prone to error.
The best solution is to have a general purpose, full-feature, low-overhead and easy to use framework into which your applications can fit.
Welcome to Tymeac