Hola,
Eso depende completamente del tipo de aplicación que quieras construir. No es específicamente sobre Java, en cualquier lenguaje de programación que tenga modo gráfico se suele seguir con el mismo método dependiendo de la aplicación.
Normalmente se suele construir toda la ventana en el constructor (valga la redundancia), porque es el momento en que se está creando el componente. Los editores como Netbeans o Visual Studio (en VB o C#) suelen crear un método privado y lo llaman desde el constructor, para separar la lógica de los editores visuales del código ingresado manualmente por el programador.
Y dependiendo del estado de la aplicación se crean nuevos componentes, se eliminan algunos o se habilitan o deshabilitan, pero eso depende del tipo de programa, una aplicación tipo 'asistente' normalmente usa una sola ventana donde cambia completamente el contenido dependiendo de los 'pasos' que lleva completados; pero un editor de textos mantiene todos los botones y componentes activos o deshabilita algunos dependiendo si son aplicables o no.
En el caso de las cajas de dialogo con opciones, normalmente están activos todos los botones pero se usan 'Tabbed Panels' donde se puede cambiar a otro estado dependiendo de las opciones que se están editando.
Al final depende de tu aplicación y el estilo que le quieras dar, inclusive si encuentras un método nunca visto mas eficiente, que sea útil, también es aceptable, como Microsoft Office 2007 y sucesores, donde se vio un cambio radical de la interfaz de usuario haciéndola mas simple de usar, y casi todo está visible y accesible todo el tiempo en la pantalla.
Normalmente también se usa el constructor porque tu formulario puede ser usado por otro programador, y tendría que llamar a un constructor y después a un método extra donde se inicializa todo, y seguramente se le va a olvidar hacer esa llamada y le va a tomar tiempo investigar porque sale la ventana vacía, igualmente puede estar bien documentado y hacer esa llamada a un método extra.
Un detalle final es que usar la instrucción 'this' como parámetro en el constructor no es buena práctica. En algunos casos no hay inconveniente, en otros es aconsejable no usarlo. NetBeans lo marca como 'código sospechoso'
.
Saludos,