Ver Mensaje Individual
  #13 (permalink)  
Antiguo 14/09/2010, 03:52
peter_21
 
Fecha de Ingreso: mayo-2010
Mensajes: 71
Antigüedad: 14 años
Puntos: 1
Respuesta: llamar a objeto desde otra clase [SOLUCIONADO]

Bueno, pues ya lo he conseguido solucionar con la ayuda del forero Ioel10.

El problema que tenia, era que las 2 clases(ventanas) eran hermanas, es decir, no era una padre de la otra, con lo cual para pasar el objeto se me hacia mas complicado porque no servia pasar el objeto de una clase a la otra.

Lo que he hecho ha sido, poner en la clase SeleccionarEmpresa, unos metodos set y get tal que asi:

Código java:
Ver original
  1. public Empresa em = new Empresa(0, null, null, null, null, 0, 0, null, null, null);
  2.     public void seleccionado(){
  3.  
  4.         try{
  5.         int idC = (Integer) jTable1.getValueAt(jTable1.getSelectedRow(), 0);
  6.         String id = (String) jTable1.getValueAt(jTable1.getSelectedRow(), 1);
  7.         String nombre = (String) jTable1.getValueAt(jTable1.getSelectedRow(), 2);
  8.         String fecha = (String) jTable1.getValueAt(jTable1.getSelectedRow(), 3);
  9.         String ciudad = (String) jTable1.getValueAt(jTable1.getSelectedRow(), 4);
  10.         String ca = (String) jTable1.getValueAt(jTable1.getSelectedRow(), 5);
  11.         int edad_minima = (Integer) jTable1.getValueAt(jTable1.getSelectedRow(), 6);
  12.         int edad_maxima = (Integer) jTable1.getValueAt(jTable1.getSelectedRow(), 7);
  13.         String sexo = (String) jTable1.getValueAt(jTable1.getSelectedRow(), 8);
  14.  
  15.         em = new Empresa(idC, id, nombre, fecha, ciudad, edad_minima, edad_maxima, sexo, ca, null);
  16.        
  17.         setEmpresa(em);
  18.         }catch(Exception e){
  19.             System.out.println(e);
  20.         }
  21.     }
  22.    public void setEmpresa(Empresa em) {
  23.         this.em = em;
  24.     }
  25.     public Empresa getEmpresa() {
  26.         return em;
  27.     }

Luego, desde la clase padre de esta, llamo al get para guardarme el objeto:
Código java:
Ver original
  1. public Empresa c = new Empresa(0, null, null, null, null, 0, 0, null, null, null);
  2.     private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {                                        
  3.         SeleccionarEmpresa se = new SeleccionarEmpresa(null, true);
  4.         se.setVisible(true);
  5.         c = st.getEmpresa();
  6.     }

Y por último, en esta misma clase, en el trozo de codigo encargado de llamar a la otra ventan hija donde esta la segunda tabla, le paso mediante el constructor el objeto Empresa, para luego desde esa clase, poder acceder a los datos como nombre, etc....

Código java:
Ver original
  1. private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                        
  2.         //JFrame mainFrame = Gestion_campeonatos.getApplication().getMainFrame();
  3.         InscribirParticipante rs = new InscribirParticipante(null, true, c);
  4.         rs.setVisible(true);
  5.     }

Aqui el codigo del constructor de la segunda clase hija y del metodo que hace uso del objeto:

Código java:
Ver original
  1. Empresa empresa = new Empresa(0, null, null, null, null, 0, 0, null, null, null);
  2. public InscribirParticipante(java.awt.Frame parent, boolean modal, Empresa e) { ....
  3. this.empresa = e;
  4. ...
  5. }
  6.  
  7. ....
  8.  
  9. Y ya podemos hacer cuando queramos cosas como, empresa.getNombre();


Gracias a los que me habeis echado un cable.
Tanto FiruzzZ como sobre todo ioel10.

Un saludo a todos y espero no veros pronto por aqui, aunque seguro que en breve tengo mas problemas jajaja.