Foros del Web » Programación para mayores de 30 ;) » Java »

Llamada a metodo en constructor

Estas en el tema de Llamada a metodo en constructor en el foro de Java en Foros del Web. Hola a Todos Disculpen de antemano, quizás la duda que expondré a continuación es muy simple, pero pues no he podido dar con la solución, ...
  #1 (permalink)  
Antiguo 16/08/2010, 15:03
 
Fecha de Ingreso: enero-2009
Mensajes: 29
Antigüedad: 15 años, 3 meses
Puntos: 1
Llamada a metodo en constructor

Hola a Todos
Disculpen de antemano, quizás la duda que expondré a continuación es muy simple, pero pues no he podido dar con la solución, y espero me puedan ayudar, mi problema es el siguiente:

Tengo una clase con un constructor, que empieza así:

Código PHP:
public class datos extends javax.swing.JFrame {  
public 
Connection pcon;   
public 
datos(java.awt.Frame parent,boolean modal,Connection ppconn)throws Exception  {
      ..........
    } 
y en ella tengo un método:

Código PHP:
 public void llenatabla()throws Exception {                  
        try
        {           
......
   catch (
Exception ex)
        {
           ...
        }      

Y lo que quiero hacer es 'llamar' a ese metodo(llenatabla), desde otra Clase(otro archivo java), para lo que en la otra clase(de nombre ‘surtir’), pongo lo siguiente:

Código PHP:
datos act1;
act1=new datos(null,true,acon);
act1.llenatabla(); 
y aunque no me genera ningún error, no hace lo que yo pretendo hacer. Espero me puedan ayudar.
Para que quede más claro, 'surtir' es una ventana donde se surten los productos de una tienda, y 'datos' es una ventana que contiene la tabla que muestra los Productos(con sus existencias). Lo que quiero hacer es que al momento de darle clic al botón de Surtir, la Actualización de las Existencias se muestre al instante (en la tabla que esta en ‘datos’, generada por el método ‘llenatabla’).

¿En qué estoy mal?, ¿o no es la forma correcta de hacer lo que pretendo?, espero me puedan ayudar, muchas gracias por su atención, saludos.

Última edición por KRISTIAN_ALE; 17/08/2010 a las 13:50
  #2 (permalink)  
Antiguo 17/08/2010, 19:46
Avatar de FiruzzZ  
Fecha de Ingreso: diciembre-2007
Ubicación: en casa
Mensajes: 470
Antigüedad: 16 años, 4 meses
Puntos: 41
Respuesta: Llamada a metodo en constructor

el error seguro está en el desarrollo del method llenaTabla().. el cual no mostrás
__________________
BadProgrammerException!
  #3 (permalink)  
Antiguo 17/08/2010, 22:03
 
Fecha de Ingreso: agosto-2010
Mensajes: 126
Antigüedad: 13 años, 8 meses
Puntos: 9
Respuesta: Llamada a metodo en constructor

mira que no te entendí bien, pero bueno espero que lo que diga sirva para algo

para empezar tu método llenartabla no debe estar en tu Formulario, si no en una clase.

public class tabla{
public void llenartabla(){
}
}

entonces así lo podes llamar en tu class Surtir. que sería algo más o menos así, por que supongo que Surtir también es un Form

public class surtir extends javax.swing.JFrame{
tabla t = new tabla();
public void jButton1ActionPerformed(){
....
t.llenartabla();
....
}
}

ahora en tu Form dato solo debe haber una instancia de la clase tabla para que al método llenartabla lo llames en showComponent o en todo caso lo podes poner en su constructor de tu Form

public class datos extends javax.swing.JFrame {
public Connection pcon;
tabla t = new tabla();
public datos(java.awt.Frame parent,boolean modal,Connection ppconn)throws Exception {
t.llenartabla(); // ahora en este método de seguro que necesita algunos parámetros que eso vo'j tenes que verlo
}
}


espero te sirva, pero también tu método llenartabla debe estar bien implementado sería bueno que lo mostres para verlo un poco..
  #4 (permalink)  
Antiguo 18/08/2010, 10:17
 
Fecha de Ingreso: enero-2009
Mensajes: 29
Antigüedad: 15 años, 3 meses
Puntos: 1
Respuesta: Llamada a metodo en constructor

Muchas Gracias por sus respuestas.
Ya revise(por medio de un System.out.printl) y si se llama al Metodo llenatabla() desde Surtir, lo malo es que no Actualiza 'visualmente' la tabla, en la ventana Datos.

este es el codigo de el metodo llenatabla():
Código PHP:
public void llenatabla()throws Exception {
  
        
Statement stmt;
        
ResultSet rs;
              
        try
        {
            
stmt=pcon.createStatement();
                       
        
rs=stmt.executeQuery("Select * from inventario");

             
DefaultTableModel dtm;
            
dtm = (DefaultTableModel)tabla.getModel();
        
       while (
rs.next())
            {
                
String data[] = {rs.getString("id"),rs.getString("rex"),rs.getString("descrip"),rs.getString("present_1"),rs.getString("prec_1"),rs.getString("exis_1"),rs.getString("stock_1"),rs.getString("tipo")};
                
dtm.addRow(data);
                        
             
            }
                            
        }
        catch (
Exception ex)
        {
            
    
System.out.println("Error1: " ex);
        
    }
     
      } 
donde tabla es:
Código PHP:
tabla = new javax.swing.JTable(); 
Por ahi lei que en lugar de 'DefaultTableModel' se debe usar 'AbstractTableModel', para poder usar 'fireTableChanged', ¿que tan cierto es esto?, ¿con eso funcionaria lo que quiero hacer?, y si es asi ¿que cambios debo hacer en 'llenatabla'?.

Espero me puedan ayudar, se los agradecere mucho, gracias por todo, saludos

Etiquetas: constructor, llamada, metodo
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:00.