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

porque no puedo mantener los datos originales de un jframe

Estas en el tema de porque no puedo mantener los datos originales de un jframe en el foro de Java en Foros del Web. Estimados, Les saludo nuevamente para solicitar su ayuda. Estoy haciendo un formulario en el cual voy ingresando datos, sin embargo llego a una parte donde ...
  #1 (permalink)  
Antiguo 19/09/2014, 02:53
 
Fecha de Ingreso: septiembre-2014
Mensajes: 3
Antigüedad: 8 años, 4 meses
Puntos: 0
porque no puedo mantener los datos originales de un jframe

Estimados,
Les saludo nuevamente para solicitar su ayuda. Estoy haciendo un formulario en el cual voy ingresando datos, sin embargo llego a una parte donde hago doble click a un control jtextfield y este me envia a otro formulario del cual voy a hacer una busqueda de datos, una vez que obtengo los datos que deseo lo envio nueevamente al formulario original con estos y lo muestra en el textfield a donde le di doble click incicialmente. Sin embargo(aqui viene el problema), al regresar al formulario inicial se reestablecen los otros controles (como textfields,jcombobox,etc. )con los datos por defecto o en su defecto en blanco o vacio.

Aqui les dejo los codigos que estoy usando:

// Con este metodo llamo al formulario de busqueda desde el formulario inicial:

private void txtCodCliMouseClicked(java.awt.event.MouseEvent evt) {
frmBuscar frmBusca=new frmBuscar(new frmVenta(), true);
if(evt.getClickCount()==2){
frmBusca.setLocationRelativeTo(null);
frmBusca.setVisible(true);
}
}

//Con este codigo envio los datos encontrados del formulario de busqueda al formulario inicial:

public class frmBuscar extends javax.swing.JDialog {

frmVenta frmV=new frmVenta();

private void btnAceptarActionPerformed(java.awt.event.ActionEve nt evt) {
if(tbCliente.getSelectedRow()>=0){
String cod=tbCliente.getValueAt(tbCliente.getSelectedRow( ), 0)+"";
String nom=tbCliente.getValueAt(tbCliente.getSelectedRow( ), 1)+"";
frmV.txtCodCli.setText(cod);
frmV.txtRazonSoc.setText(nom);
//Como mantener los datos originales en el jfram frmVenta
this.dispose();
frmV.setVisible(true);
}else{
JOptionPane.showMessageDialog(this, "Seleccionar una fila");
}
}


Gracias por su apoyo y a la espera de una respuesta..

slds.
  #2 (permalink)  
Antiguo 19/09/2014, 03:38
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 18 años, 4 meses
Puntos: 454
Respuesta: porque no puedo mantener los datos originales de un jframe

Si al crear el dialogo haces un

frmVenta frmV=new frmVenta();

estas creando una ventana nueva desde cero, que es distinta de la que tenias antes, y por eso tiene todo con sus valores por defecto.

Pasa en el constructor de frmBuscar la ventana, pero no lo hagas tampoco como estas haciendo ahora, con otro new (ya tienes tres instancias creadas de esa ventana inicial), sino pasándole la que ya tienes creada, quizás algo como

private void txtCodCliMouseClicked(java.awt.event.MouseEvent evt) {
frmBuscar frmBusca=new frmBuscar(this, true);
...

y en el constructor de frmBuscar guarda eso que recibes en frmV, sin hacerle ningún new.

Se bueno.
__________________
Apuntes Java
Wiki de Programación

Etiquetas: jframe, jtextfield, originales, string
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 18:17.