Abrir ventana de un JFrame dentro del mismo JFrame

publicado por: Anonymous

Buen Dia Amigos,

tengo un Jframe llamado principal,

y tengo otro JFrame llamado activar_alarma, este frame contiene:

  1. en la interfaz, una tabla con un aviso que deseo mostrar cuando un timer.schedule se active en una fecha determinada.
  2. tambien contiene un metodo que es el que llamo para que activen o programen esos timer.schedule

para poner un ejemplo, digamoslo asi: mi frame (activar alarma) actua como “clase”(siendo un frame), porque lo digo:, Porque desde el otro frame (principal), primero llamo al metodo que hay dentro de mi frame (sin abrir la ventana), y luego dentro de ese metodo quiero abrir la ventana del mismo frame desde donde estoy ejecutando en metodo.

Dentro del Jframe activar_alarma quiero que se abra este mismo JFrame activar_alarma, NO haciendolo asi:

new activar_alarmas_vencimiento().setVisible(true);

y asi no me funciona me saca error

 activar_alarmas_vencimiento.setVisible(true);

non-static method setVisible(boolean) cannot be referenced from a static context

(Alt-Enter shows hints)

ya que me lo abre como nuevo perdiendo el proceso que ya llevo, solo quiero que me habra la ventana o se haga visible dentro de mi metodo.

O como puedo hacer para que se abra pero invisible pero que al momento de ejecutar mi metodo,se haga visible solo adentro de mi metodo.

introducir la descripción de la imagen aquí

Deantemano GRACIAS.

solución

por si alguien le sirve lo solucione asi:
con un metodo en el mismo frame

public void abrir(){
        this.setVisible(true);
    }

y lo llame dentro de mi frame en un TimerTask

TimerTask tarea =new TimerTask(){
                @Override
                public void run() {     
                    abrir();
                    //llame a un metodo que lo ponga visible  
                    //sonar a larma y dar aviso
                    label1.setText("EL PRODUCTO: "+nom_producto+" ESTA POR VENCER");
                    label2.setText("LA FECHA DE CADUCIDAD ES: "+fecha_caducidad);
                    label3.setText("DESCRIPCION: "+aviso);
                    cod_alarma_tabla.setText(cod_alarma);
                    llamarAudio();
                }
            }; 

ya que el timerTask tiene un metodo, lo consegui llamando al metodo, pero si no es asi , lo pueden poner solo

this.setVisible(true);
Respondido por: Anonymous

Leave a Reply

Your email address will not be published. Required fields are marked *