Foros del Web » Programación para mayores de 30 ;) » Java »

JFrame abre muchas veces

Estas en el tema de JFrame abre muchas veces en el foro de Java en Foros del Web. hola gente buenas tardes, ando con una inquietud que no puedo resolver que es la siguiente: Por medio de un JButton abro un JFrame, es ...
  #1 (permalink)  
Antiguo 19/07/2014, 16:20
 
Fecha de Ingreso: diciembre-2012
Mensajes: 53
Antigüedad: 11 años, 11 meses
Puntos: 0
Pregunta JFrame abre muchas veces

hola gente buenas tardes, ando con una inquietud que no puedo resolver que es la siguiente:
Por medio de un JButton abro un JFrame, es decir al presionarlo abro una ventana. mi problema es que si lo presiono mas de una vez aparecen muchas ventanas, lo que yo quiero lograr es que al presionarlo una vez se abra una sola ventana y si vuelvo a aprentar el boton no se abra una nueva. me explico?

Saludos y buena fin de semana para todos.
  #2 (permalink)  
Antiguo 22/07/2014, 06:33
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 20 años, 1 mes
Puntos: 454
Respuesta: JFrame abre muchas veces

Sin código sólo se puede adivinar qué está pasando.

Lo más probable es que estés haciendo un new del JFrame dentro del actionPerformed del botón, creando y visualizando un nuevo JFrame cada vez que pulsas el botón. La solución es guardar el JFrame en un atributo de clase que tengas accesible desde el actionPerformed y mires si ya está creado o no antes de hacer el new.

En el apartado 3 de http://chuwiki.chuidiang.org/index.p...rame_y_JDialog tienes un código que podrías adaptar.

Se bueno
__________________
Apuntes Java
Wiki de Programación
  #3 (permalink)  
Antiguo 26/07/2014, 16:07
Avatar de rhq
rhq
 
Fecha de Ingreso: junio-2012
Ubicación: Córdoba
Mensajes: 12
Antigüedad: 12 años, 5 meses
Puntos: 3
Respuesta: JFrame abre muchas veces

Podrías probar haciendo el frame un singleton (patrón de diseño singleton para que busques en google).

Etiquetas: jframe, muchas, veces
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:56.