Ver Mensaje Individual
  #4 (permalink)  
Antiguo 18/07/2012, 15:00
alexg88
 
Fecha de Ingreso: abril-2011
Mensajes: 1.342
Antigüedad: 13 años, 6 meses
Puntos: 344
Respuesta: Problemas con contador

Buenas,

Veo varios problemas en el código, además de que no entiendo porque en el form3 vuelves a crear la clase Espias.

En el form3 tienes esto:

Código Java:
Ver original
  1. private void jButton1MouseClicked(java.awt.event.MouseEvent evt) {
  2.         // TODO add your handling code here:
  3.         form2 f2=new form2();
  4.         f2.setVisible(true);
  5.         form3.this.dispose();
  6.      
  7.     }

Estas creando una nueva instancia del form2, no usando la que ya tienes creada.
Además de que te puede crear problemas de memoria (no estás liberando el form2 que creas antes), no va a tener el comportamiento esperado.

Así lo haría yo:

Código Java:
Ver original
  1. public class form2 extends javax.swing.JFrame {
  2.  
  3.            
  4.     Espias salud=new Espias();
  5.     /**
  6.      * Creates new form form2
  7.      */
  8.     public form2() {
  9.        
  10.         initComponents();
  11.         SaludActual();
  12.          
  13.     }
  14.  
  15.       public void SaludActual(){
  16.          
  17.          int vida=salud.x;
  18.          System.out.println(vida);
  19.          jLabel5.setText(String.valueOf(vida));
  20.                                      
  21.       }
  22.        
  23.             private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
  24.         // TODO add your handling code here:
  25.          salud.actual(10);
  26.           SaludActual();
  27.           form3 f3=new form3(this);
  28.           f3.setVisible(true);
  29.           this.setVisible(false);
  30.          
  31.     }  
  32.  
  33. }

Código Java:
Ver original
  1. public class form3  extends javax.swing.JFrame{
  2.  
  3. private JFrame ventanaPadre;
  4.  
  5.  public form3(JFrame padre) {
  6. ventanaPadre = padre;
  7.         initComponents();
  8.         initEstadoActual();
  9.     }
  10.  
  11.     public void initEstadoActual(){
  12.    
  13. //Tienes que revisar esto, la salud va a ser 0 si creas una nueva instancia
  14.       Espias salud=new Espias();
  15.       int actualF=salud.x;
  16.         System.out.println(actualF);
  17.         if(actualF>0)
  18.             jLabel1.setText("aun tienes vida puedes seguir jugando");
  19.         else
  20.             jLabel1.setText("Game Over");
  21.     }
  22.      
  23.    private void jButton1MouseClicked(java.awt.event.MouseEvent evt) {
  24.         // TODO add your handling code here:
  25.         padre.setVisible(true);
  26.         this.dispose();      
  27.     }  
  28. }

Puede que no esté correcto del todo, tendrás que amoldarlo a lo que tú tengas.

Saludos.