Java - java.lang.StringIndexOutOfBoundsException - (uso de setvisible - Java)

 
Vista:

java.lang.StringIndexOutOfBoundsException - (uso de setvisible - Java)

Publicado por Rodrigo (1 intervención) el 06/05/2017 20:22:11
Hola a todos, a ver si me ayudan.
Al abrir JFRAME frmJugador2 instanciando solo al principio el objeto de esta clase (en clase frmJugador1), y no cerrar con dispose() en frmJugador2 si no con this.setvisible(false);, para que el objeto siga en memoria, por alguna razón me da el siguiente error al querer volver a hacer visible la vetana.
"Exception in thread "AWT-EventQueue-0" java.lang.StringIndexOutOfBoundsException: String index out of range: -1"

JFRAME frmJugador1
En un JFRAME hago referencia al JFRAME frmJugador2 con el objeto objfrmJugador2.

public class frmJugador1 extends javax.swing.JFrame {

frmJugador2 objfrmJugador2 = new frmJugador2();

Luego más abajo en este mismo código, en el evento de botón

private void btnIntentoActionPerformed(java.awt.event.ActionEvent evt) {
this.setVisible(false);
objfrmJugador2.setVisible(true); //Con esto se abre y hace visible el JFRAME frmJugador2.
}
.
.
.
JFRAME frmJugador2
Luego cierro ventana frmJugador2 con this.setVisible(false);
Queda visible nuevamente este JFRAME frmJugador1, que en realidad nunca se hizo invisible, ya que frmJugador2, se abrió sobre esta y luego se cerro.

JFRAME frmJugador1
Vuelvo a presionar el botón para hacer visible nuevamente el JFRAME frmJugador2.

private void btnIntentoActionPerformed(java.awt.event.ActionEvent evt) {
this.setVisible(false);
objfrmJugador2.setVisible(true); //Con esto se debiera hacer visible nuevamente el JFRAME frmJugador2, pero da el error.
}
Muchaas gracias de ante mano.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

java.lang.StringIndexOutOfBoundsException - (uso de setvisible - Java)

Publicado por panteur (19 intervenciones) el 09/05/2017 16:53:33
Estimado.

Desde donde llamas los formularios para mostrarlos, en teoria cada formulario es un objeto privado en si mismo, deberias instanciar un nuevo formulario de cada caso para poder acceder a las propiedades desde un unico objeto en ambito privado.

por ejemplo desde la clase main donde arranques tu aplicación, crear las instancias de los formularios con los que trabajaras, al hacer eso no debería producirse error.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar