aplicación java single frame

Necesito crear una aplicación con una sola ventana y sin ventanas emergentes. Todo funciona usando la misma ventana y solo cambiando el contenido. Voy a crear una aplicación usando swing.

He leído Java: fotograma único frente a fotogramas múltiples, pero no creo que cumpla con mis requisitos porque cuando la aplicación crezca, será más difícil de mantener.

Me gustaría tener un diseño MVC. Estoy pensando en crear algún tipo de pila de controladores donde el controlador cargará la vista y el modelo. Entonces, cuando deba regresar, simplemente active el controlador actual y use el anterior. Puedo estar equivocado acerca de mi diseño, si alguien tiene alguna sugerencia sobre cómo implementar dicha aplicación, siéntase libre de comentar.

Gracias por tu tiempo.

He intentado crear una clase de prototipo que contenga una pila de contenedores para cambiar.

public class WindowManager 
{
protected Stack<Container> frames;// contains frames stack to navigate
protected JFrame wnd; // frame to show

public WindowManager()
{
    this.frames = new Stack<>();
    this.wnd = new JFrame();
    wnd.setSize(640, 480);
    //wnd.setVisible(true);
}

public void addFrame(Container c)
{
    this.frames.push(this.wnd.getContentPane());
    this.wnd.setContentPane(c);
}

public WindowManager removeFrame()
{
    Container c = this.frames.pop();
    wnd.setContentPane(c);
    return this;
}

public void showWindow()
{
    wnd.setVisible(true);
}

}

En lugar de la pila de contenedores, habría una pila de Controladores que cargaría la vista y el modelo.

Respuesta 1

¿Cómo puedo obtener una cadena del cuerpo Flow.Publisher <Byte>? Solo quiero analizar la cadena desde Publisher.

¿Es posible encontrar una instancia de objeto utilizando un método público estático que espera un objeto de campo como parámetro? Eso es lo que busco: public class Foo {private Bar myObject; público estático ...

Tener el siguiente código scratch: public static void main (String [] args) lanza ExecutionException, InterruptedException {CompletableFuture <Void> process1 = CompletableFuture.runAsync (() - & ...

Estoy haciendo una tarea donde tengo que hacer dos cosas usando la exponenciación al cuadrar. Una es obtener el número de multiplicaciones y la otra es obtener el resultado real. Aquí hay algunos ejemplos: 2 ...