2012-09-09 27 views
5

Mi programa consta de 3 "secciones" principales. Función principal, formulario de inicio de sesión y formulario de la aplicación. La función principal debe hacer algo como: Abra el formulario de inicio de sesión, espere a que se cierre y luego abra el formulario de la aplicación. No puedo hacer que la parte de espera funcione, o mejor dicho, no sé cómo voy a hacer eso.¿Cómo se espera a que JFrame se cierre antes de continuar?

Me dijeron que alguien utilizara un JDialog y usara setModal(true), pero con ese enfoque el formulario de inicio de sesión no aparecería en la barra de tareas, lo cual es terrible en mi opinión.

Otra cosa que consideré fue abrir la aplicación desde el inicio de sesión después de que se cerró, pero se siente como un mal diseño ya que haría que el formulario de inicio de sesión no se puede volver a utilizar.

Entonces, ¿qué sugieres?

+1

Por qué debe aparecer el inicio de sesión en la barra de tareas, ya que la aplicación principal estará allí y no desea más de un elemento de la barra de tareas para un programa individual. Su mejor opción es usar un JDialog modal. –

+0

Dispongo del inicio de sesión después de que se cierra, por lo que siempre hay solo uno a la vez. – argoneus

+0

Puede que no sea "divertido" que el usuario tenga un montón de ventanas arrojadas sobre ellos. Mira CardLayout. –

Respuesta

5
  • ¿Por qué debe aparecer el inicio de sesión en la barra de tareas, ya que la aplicación principal estará allí y no desea más de un elemento de barra de tareas para un programa individual. Su mejor opción puede ser utilizar un JDialog modal.
  • Otra opción es usar CardLayout para intercambiar "vistas".
  • Una tercera opción es usar un JFrame si debe pero adjuntar un oyente, creo que un WindowListener, para responder a su evento cercano.
  • Independientemente de la ruta que elija, su gui de inicio de sesión debe ser un JPanel para que pueda ubicarlo donde desee y luego cambiar de opinión.
Cuestiones relacionadas