eliminar Instancia de una Clase

Saludos a todos..

tengo un problema, tengo 2 clases JFrame,

clase A y clase B
En la clase A por medio del evento ActionPerformed de un boton crea una instancia de la clase B con un metodo estatico.

Ya dentro del JFrame de la clase B, presiono un botón y una variable estatica de esa clase recibe un valor X.
En la clase A en el evento focusGained del boton obtengo el valor de esa variable estatica de la Clase B, pero si nunca he presionado el boton de la Clase A, el valor de la variable estatica de la Clase B es vacía, y me marca error, en los calculos que posteriormente tengo que hacer.

Hay alguna manera que al presionar el boton de la clase A, primero verifique si la variable de la clase B existe?? y otra mas como puedo destruir esa variable de la Clase B desde la clase A para que su valor no sea el mismo en el periodo que dure activo el programa.

Ojala me hayan entendido...jeje gracias de antemano.

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.
Imagen de immanriquezc@gmail.com

Solucionado

Saludos...

he solucionado el problema utilizando un metodo Set en la clase B y llamandolo desde la Clase A, donde le envío como parametro un valor diferente, asi cuando necesito el Valor de la variable de la clase B, pongo una condicion, que si se cumple haga el proceso que necesito.

Imagen de ezamudio

gc

En Java no necesitas destruir objetos. Suponiendo que tienes dos subclases de JFrame, clase A y clase B, y tienes una instancia de cada una, y la instancia de A tiene un apuntador a la instancia de B, no puedes destruir directamente el objeto. Simplemente rompe la referencia de A a B haciendo null el valor de la variable de A que apunta a B (b = null suponiendo que la variable se llame b). Si la única referencia a esa instancia de B era la variable de A, entonces el recolector de basura de la máquina virtual de Java destruirá esa instancia de B si ya nadie la está usando, en algun momento.

Para verificar si el valor existe pues simplemente usa un if, una de las estructuras de control más básicas que existen. Olvidémonos por el momento del encapsulamiento, diseño orientado a objetos, mejores prácticas, etc y concentrémonos en esto:

public class A extends JFrame {

  public void actionPerformed() {
    B.var = "x";
  }

  public void focusGained() {
    if (B.var == null) {
      //no tiene valor todavia
    } else {
      //ya tiene valor
      //si la quieres "destruir" simplemente...
      B.var = null;
    }
  }
}

public class B extends JFrame {
  public static Object var;
}

Re: eliminar Instancia de una Clase

Ojala me hayan entendido...jeje gracias de antemano.

No. Primero ¿por qué usas variables estáticas? ¿!

Segundo, como ya te dijo ezamudio, en Java no destruyes instancias. en tu caso lo que harías simplemente es que la variable que apunta a una instancia, haces que apunte a otra instancia.

Saludos

Javier

Imagen de E_Ortega

como dato.

Al no ser usada (refereniada) una instancia durante la ejecución del programa, la garbage collection la borrará por ti; tu no tienes que hacerlo.