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

Problemas Con Jframe en java

Estas en el tema de Problemas Con Jframe en java en el foro de Java en Foros del Web. Buenos días a todos cordial saludo: Bueno primeramente agradecerles a todos por sus respuestas,siempre en lo personal me dan una luz que junto al empeño ...
  #1 (permalink)  
Antiguo 19/08/2015, 07:01
 
Fecha de Ingreso: mayo-2015
Mensajes: 63
Antigüedad: 8 años, 11 meses
Puntos: 1
Problemas Con Jframe en java

Buenos días a todos cordial saludo:

Bueno primeramente agradecerles a todos por sus respuestas,siempre en lo personal me dan una luz que junto al empeño que uno le ponga de seguro puede solucionar sus problemas:

el día de hoy quiero hacerles una consulta para ver si me dan un pequeño ejemplo de como resolverlo:

resulta que estoy realizando un programa muy sencillo en el que tengo que capturar los datos básicos de varias personas: como su nombre,apellido etc.

para eso estoy utilizando un formulario y en el están lo típico: las cajas de texto el botón insertar y un jtable que muestra los ingresos que voy realizando,para ello estoy utilizando un arraylist.

el problema resulta que por ejemplo si yo me voy de ese formulario a otro para verificar
digamos algún nombre que haya ingresado no lo encuentra y es mas cuando regreso nuevamente al primero se me han borrado del jtable las personas que ingrese.

como el trabajo consiste en hacerlo sin base de datos intente solucionar el problema guardando los datos de las personas en un archivo plano,pero mi profesor dice que lo quiere es solo navegando por medio de formularios. y la verdad no se como hacerlo.

de antemano agradezco sus respuestas. y muchas gracias
  #2 (permalink)  
Antiguo 19/08/2015, 11:02
 
Fecha de Ingreso: enero-2015
Ubicación: Madrid
Mensajes: 76
Antigüedad: 9 años, 3 meses
Puntos: 5
Respuesta: Problemas Con Jframe en java

Pues parece que el fallo esta en como vuelves a llamar al primer formulario desde el segundo formulario.

Fíjate en las variables donde guardas la información, seguramente cuando cargues el 1º formulario desde el 2º formulario, en el 1º formulario estarás machacando la informacion

Deberias poner algo de codigo....
  #3 (permalink)  
Antiguo 19/08/2015, 12:57
 
Fecha de Ingreso: mayo-2015
Mensajes: 63
Antigüedad: 8 años, 11 meses
Puntos: 1
Respuesta: Problemas Con Jframe en java

http://farm1.staticflickr.com/777/20...ec85a449_b.jpg

bueno este seria el inicio aqui tengo este codigo
package Formularios;


public class FrPaginaPrincipal extends javax.swing.JFrame {

public FrPaginaPrincipal()
{
initComponents();
this.setVisible(true);
}
@SuppressWarnings("unchecked")




private void btnRegistrarActionPerformed(java.awt.event.ActionE vent evt) {
FrVista mivista = new FrVista();
mivista.show();
}

private void btnActivoActionPerformed(java.awt.event.ActionEven t evt) {
FrValidacion validacion = new FrValidacion();
validacion.show();
}

aca seria el de registro:


package Formularios;


import Clases.Persona;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.io.FileWriter;
import java.io.PrintWriter;
import java.util.ArrayList;
import javax.swing.JOptionPane;
import javax.swing.table.DefaultTableModel;


public class FrVista extends javax.swing.JFrame {

String Nombre="";
String Apellido="";
String Edad="";
String Telefono="";
String Id="";
Persona Registro;
ArrayList<Persona> lista=new ArrayList<Persona>();


public FrVista()
{
initComponents();
//this.setVisible(true);

jTablePersona.addMouseListener(new MouseAdapter()
{
DefaultTableModel model=new DefaultTableModel();

public void mouseClicked(MouseEvent e)
{
int i = jTablePersona.getSelectedRow();
Nombre=(jTablePersona.getValueAt(i, 0).toString());
Apellido=(jTablePersona.getValueAt(i, 1).toString());
Edad=(jTablePersona.getValueAt(i, 2).toString());
Telefono=(jTablePersona.getValueAt(i, 3).toString());
Id=(jTablePersona.getValueAt(i, 4).toString());
}
});
}


void Registrar()
{

Persona persona=new Persona(txttId.getText(),txtNombre.getText(),txtAp ellido.getText(),txtEdad.getText(),txtNumero.getTe xt());
lista.add(persona);
JOptionPane.showMessageDialog(this, "El Cliente Se Ha Guardado Con Exito");
mostrar();
txtNombre.setText("");
txtEdad.setText("");
txtApellido.setText("");
txtNumero.setText("");
txttId.setText("");
}


@SuppressWarnings("unchecked")


private void btnRegistrarActionPerformed(java.awt.event.ActionE vent evt) {
// TODO add your handling code here:
Registrar();
}

private void btnEliminarActionPerformed(java.awt.event.ActionEv ent evt) {
// TODO add your handling code here:

for (int i = 0; i < lista.size(); i++)
{
if (Nombre==lista.get(i).getNombre())
{
lista.remove(i);
}
}

//actualizo la tabla
String matris[][]=new String[lista.size()][5];

for (int i = 0; i < lista.size(); i++)
{
matris[i][0]=lista.get(i).getNombre();
matris[i][1]=lista.get(i).getApellido();
matris[i][2]=lista.get(i).getEdad();
matris[i][3]=lista.get(i).getNumero();
matris[i][4]=lista.get(i).getId();

}

jTablePersona.setModel(new javax.swing.table.DefaultTableModel
(
matris,
new String []
{
"Nombre", "Apellido", "Edad", "Numero","Id"
}
));
}


private void btnEditarActionPerformed(java.awt.event.ActionEven t evt) {

txtEditarNombre.setText(Nombre);
txtEditarApellido.setText(Apellido);
txtEditarEdad.setText(Edad);
txtEditarNumero.setText(Telefono);
lblEditarId.setText(Id);
}

private void btnGrabarEdicionActionPerformed(java.awt.event.Act ionEvent evt) {

for (int i = 0; i < lista.size(); i++)
{
if(lblEditarId.getText()==lista.get(i).getId())
{
lista.get(i).setNombre(txtEditarNombre.getText());
lista.get(i).setApellido(txtEditarApellido.getText ());
lista.get(i).setEdad(txtEditarEdad.getText());
lista.get(i).setNumero(txtEditarNumero.getText());
}
}
txtEditarNombre.setText("");
txtEditarApellido.setText("");
txtEditarEdad.setText("");
txtEditarNumero.setText("");
lblEditarId.setText("");

String matris[][]=new String[lista.size()][5];

for (int i = 0; i < lista.size(); i++)
{
matris[i][0]=lista.get(i).getNombre();
matris[i][1]=lista.get(i).getApellido();
matris[i][2]=lista.get(i).getEdad();
matris[i][3]=lista.get(i).getNumero();
matris[i][4]=lista.get(i).getId();
}

jTablePersona.setModel(new javax.swing.table.DefaultTableModel
(
matris,
new String []
{
"Nombre", "Apellido", "Edad", "Numero","Id"
}
));
}



private void btnPaginaPrincicpalActionPerformed(java.awt.event. ActionEvent evt) {
// TODO add your handling code here:
FrPaginaPrincipal miprincipal = new FrPaginaPrincipal();
miprincipal.show();


}


public void mostrar()
{
String matris[][]=new String[lista.size()][5];

for (int i = 0; i < lista.size(); i++)
{
matris[i][0]=lista.get(i).getNombre();
matris[i][1]=lista.get(i).getApellido();
matris[i][2]=lista.get(i).getEdad();
matris[i][3]=lista.get(i).getNumero();
matris[i][4]=lista.get(i).getId();
}
jTablePersona.setModel(new javax.swing.table.DefaultTableModel
(
matris,
new String []
{
"Nombre", "Apellido", "Edad", "Numero","Id"
}
));
}
/**
* @param args the command line arguments
*/
public static void main(String args[])
{
// new FrValidacion().setVisible(true);
//FrPaginaPrincipal mp = new FrPaginaPrincipal();
}

entonces cuando le doy a en el boton pagina principal y vuelvo otra vez se ha borrado la informacion la idea seria que al volver alli estuvieran los datos todavia en la tabla

Última edición por mauricio1020; 19/08/2015 a las 13:15
  #4 (permalink)  
Antiguo 20/08/2015, 06:59
 
Fecha de Ingreso: enero-2015
Ubicación: Madrid
Mensajes: 76
Antigüedad: 9 años, 3 meses
Puntos: 5
Respuesta: Problemas Con Jframe en java

Se borra todo porque cuando pulsas el boton de registrar en el evento del boton haces un new FrVista(); con lo cual estas creando un nuevo objeto, no tiene nada que ver con el anterior, prueba a crear el objeto en el constructor y cuando llames a la otra ventana

Código PHP:
public class FrPaginaPrincipal extends javax.swing.JFrame {

public 
FrPaginaPrincipal()
{
initComponents();
this.setVisible(true);
//Creas los objetos solo una vez.
FrVista mivista = new FrVista(); 
FrValidacion validacion = new FrValidacion();
}
@
SuppressWarnings("unchecked")




private 
void btnRegistrarActionPerformed(java.awt.event.ActionE vent evt) { 
mivista.show(); 


private 
void btnActivoActionPerformed(java.awt.event.ActionEven t evt) { 
validacion.show(); 


Veo que todas tus ventanas son JFrame, eso es un error, solo debe haber una en cada proyecto, te dejo un enlace a una pagina donde lo explica muy bien las ventanas java.

[URL="http://www.chuidiang.com/java/novatos/JFrame_JDialog.php"]http://www.chuidiang.com/java/novatos/JFrame_JDialog.php[/URL]
  #5 (permalink)  
Antiguo 20/08/2015, 10:12
 
Fecha de Ingreso: mayo-2015
Mensajes: 63
Antigüedad: 8 años, 11 meses
Puntos: 1
Respuesta: Problemas Con Jframe en java

oye muchisimas gracias por responder,tambien por darme la documentacion,solo una ultima cosa:

ya deje un solo JFrame y los demas como JDialog , si ahora quiero en el nuevo form que llame FrValidar que es un JDialog y en el esta el array de personas que te decia por ejemplo un nombre introducido pero en otro JDialog como seria?

muchas gracias de nuevo y saludos

Etiquetas: jframe, programa
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 01:53.