style="display:inline-block;width:728px;height:90px"
data-ad-client="ca-pub-5164839828746352"
data-ad-slot="7563230308">

Problema con Jframe

Soy novato en java y estoy realizando un proyecto donde la clase principal tiene un frame y en otra clase tengo otro frame el cual lo llamo con un boton desde el primer frame, como puedo hacer que el segundo frame solo se abra si esta cerrado.

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.

¿Algo como esto? ... public

¿Algo como esto?

...
public void actionPerformed( ActionEvent e ) {
    if( ! otroFrame.isVisible() ) {
        otroFrame.setVisible( true );
    }
}
...

La idea es que cuando se ejecute el codigo de tu botón, solo muestres el "otroFrame" si es que no está visible.

Revisa el javadoc e intenta con otros métodos, quizá isVisible no es lo que necesitas, pero algun otro sí.

Prmero es tener acceso

pues lo mas importante antes de saber como lo musetras es que puedas tener acceso a ese frame, pues por lo que veo necesitas el control de un frame de otra clase ya instanciada... pues hazle un metodo de acceso tipo getXxxxxFrame() y sobre ese le alicas lo qe quieras pero obvio tienes que llamarlo desde el objeto ya instanciado

Osea, aplicando el 1,2,3 seria
1- obten instancia que contiene el frame
2- obten frame
3- hazle lo que quieras a frame
...
(retomando o de oscar:

...
public void actionPerformed( ActionEvent e ) {
    if( ! otroFrame.isVisible() ) {
        laOtraClase.getOtroFrame().setVisible( true );
    }
}
...

a mi nunca me ha gustado el SWING (de hecho lo odio) pero cuando lo trabajo lo que hago es una clase con todas las chacharas visibles y despues hago una instancia de esa clase en mi "clase principal" y de ahi la envio a donde vaya a ocupar esos componentes aun sea de clases diferentes. La cuestion es eso, obtener la instancia del objeto ya creado e OooOooOOoooootra clase y manejarlo... suerte!

Imagen de Nopalin

Solo llama setVisible(true)

Solo llama setVisible(true) siempre, si ya esta visible el metodo no hace nada.

sobres

style="display:inline-block;width:728px;height:90px"
data-ad-client="ca-pub-5164839828746352"
data-ad-slot="7563230308">