elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  No se me guardan los datos en el ArrayList
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: No se me guardan los datos en el ArrayList  (Leído 3,271 veces)
nemesis27

Desconectado Desconectado

Mensajes: 19


Ver Perfil
No se me guardan los datos en el ArrayList
« en: 8 Diciembre 2017, 21:17 pm »

Hola gente del foro, a ver si alguien me puede ayudar con este problema.  Estoy haciendo un programa con un jframe que me guarde y me busque datos ingresados.

Me quede trabado en la parte donde por medio de un ArrayList guardo los datos que ingreso. Ya que al ejecutar el jframe, al momento de guardar los datos me sale el siguiente error en la consola:

at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
   at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
   at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
   at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
   at java.awt.EventDispatchThread.run(Unknown Source)


Les muestro los códigos que tengo hechos:

Código:
public class People {

int Documento;
String Nombre;
String Apellido;


public People() {}

public People(int d, String n, String a) {
this.Documento=d;
this.Nombre=n;
this.Apellido=a;
}

public int getDocumento() {
return Documento;
}

public void setDocumento(int documento) {
Documento = documento;
}

public String getNombre() {
return Nombre;
}

public void setNombre(String nombre) {
Nombre = nombre;
}

public String getApellido() {
return Apellido;
}

public void setApellido(String apellido) {
Apellido = apellido;
}

public String toString() {
return ("El DNI es: " +Documento+ "\n El nombre es: " +Nombre+ "\n El apellido es: " +Apellido);
}

}
 


Código:
import java.awt.BorderLayout;

import java.awt.EventQueue;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JTextField;
import javax.swing.JButton;
import java.awt.event.ActionListener;
import java.util.ArrayList;
import java.awt.event.ActionEvent;

public class Ventana extends JFrame {

private JPanel contentPane;
private JTextField textField;
private JTextField txt_nombre;
private JTextField txt_apellido;

ArrayList<People> array=new ArrayList<People>();


public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
Ventana frame = new Ventana();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}

/**
* Create the frame.
*/
public Ventana() {



setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 450, 300);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
contentPane.setLayout(null);

JLabel txt_dni = new JLabel("Ingrese dni");
txt_dni.setBounds(30, 11, 145, 14);
contentPane.add(txt_dni);

textField = new JTextField();
textField.setBounds(150, 8, 86, 20);
contentPane.add(textField);
textField.setColumns(10);

JButton btnBuscar = new JButton("Buscar");
btnBuscar.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
for(int i=0; i<array.size(); i++) {
txt_dni.setText(""+array.get(i).getDocumento());
txt_nombre.setText(""+array.get(i).getNombre());
txt_apellido.setText(""+array.get(i).getApellido());
}
}
});
btnBuscar.setBounds(287, 7, 89, 23);
contentPane.add(btnBuscar);

JLabel lblNombre = new JLabel("Nombre");
lblNombre.setBounds(10, 86, 46, 14);
contentPane.add(lblNombre);

txt_nombre = new JTextField();
txt_nombre.setBounds(139, 83, 86, 20);
contentPane.add(txt_nombre);
txt_nombre.setColumns(10);

JLabel lblApellido = new JLabel("Apellido");
lblApellido.setBounds(10, 134, 46, 14);
contentPane.add(lblApellido);

txt_apellido = new JTextField();
txt_apellido.setBounds(139, 131, 86, 20);
contentPane.add(txt_apellido);
txt_apellido.setColumns(10);

JButton btnGuardar = new JButton("Guardar");
btnGuardar.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
int Documento;
int contador=0;
String Nombre,Apellido;

Documento=Integer.parseInt(txt_dni.getText());
Nombre=txt_nombre.getText();
Apellido=txt_apellido.getText();

People p=new People();
p.setDocumento(Documento);
p.setNombre(Nombre);
p.setApellido(Apellido);

array.add(p);
contador++;

JOptionPane.showMessageDialog(null, "Los datos se han guardado correctamente");
txt_dni.setText("");
txt_nombre.setText("");
txt_apellido.setText("");
}
});
btnGuardar.setBounds(21, 207, 89, 23);
contentPane.add(btnGuardar);

JButton btnCancelar = new JButton("Cancelar");
btnCancelar.setBounds(120, 207, 89, 23);
contentPane.add(btnCancelar);

JButton btnSalir = new JButton("Salir");
btnSalir.setBounds(219, 207, 89, 23);
contentPane.add(btnSalir);
}
}
 


En línea

rub'n


Desconectado Desconectado

Mensajes: 1.217


(e -> λ("live now")); tatuar -> λ("α");


Ver Perfil WWW
Re: No se me guardan los datos en el ArrayList
« Respuesta #1 en: 8 Diciembre 2017, 23:59 pm »

Hola por convención en java usa nomenclatura Camel Case, es decir variables locales, variables de instancia primera letra en minúscula luego mayúscula ej "myDocumento"

Usa tambien Código GeSHi y escoge java

cambia a String tu variable int documento,

private String documento;

y en el listener del boton guardar, también cambia a String, podemos ajustarlo para que  notifique si un usuario existe o no, pero debo ver interes  >:D



Edito ahoria vi bien... el detalle es,  :xD

Código
  1. JLabel txt_dni = new JLabel("Ingrese dni");
  2. txt_dni.setBounds(30, 11, 145, 14);
  3. contentPane.add(txt_dni);

usa la variable de instancia creada por ti JTextField textField para obtener el texto de entrada no el  txt_dni que es de tipo JLabel

Código
  1. int documento = Integer.parseInt(textField.getText());


« Última modificación: 30 Diciembre 2017, 04:44 am por rub'n » En línea



rubn0x52.com KNOWLEDGE  SHOULD BE FREE.
If you don't have time to read, you don't have the time (or the tools) to write, Simple as that. Stephen ki
nemesis27

Desconectado Desconectado

Mensajes: 19


Ver Perfil
Re: No se me guardan los datos en el ArrayList
« Respuesta #2 en: 9 Diciembre 2017, 05:31 am »

Hola por convención en java usa nomenclatura Camel Case, es decir variables locales, variables de instancia primera letra en minúscula luego mayúscula  "myDocumento"

Usa tambien Código GeSHi y escoje java

cambia a String tu variable int documento,

private String documento;

y en el listener del boton guardar, también cambia a String, podemos ajustarlo para que  notifique si un usuario existe o no, pero debo ver interes  >:D



Edito ahoria vi bien... el detalle es,  :xD

JLabel txt_dni = new JLabel("Ingrese dni");
  txt_dni.setBounds(30, 11, 145, 14);
  contentPane.add(txt_dni);

usa private JTextField textField 
int documento = Integer.parseInt(textField.getText());

Ahí lo pude solucionar, muchas gracias amigo
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
consulta ciclo for 100.000.000 de datos en un arraylist
Java
neomadara 2 1,626 Último mensaje 1 Mayo 2014, 22:04 pm
por ivancea96
Problema al pasar datos de un ArrayList a un LinkedList
Java
JorgeLamli 1 1,444 Último mensaje 16 Abril 2015, 23:42 pm
por Usuario Invitado
Los datos de un jtable no se guardan en la base de datos
Java
JL431 2 3,488 Último mensaje 30 Mayo 2016, 22:16 pm
por daniela Vega
Obtener datos de un ArrayList [Editado]
Java
i33naxo 0 2,218 Último mensaje 12 Diciembre 2016, 23:26 pm
por i33naxo
Pasar datos de ArrayList entre metodos (DUDA)
Java
MrSimpatia 1 1,901 Último mensaje 7 Octubre 2018, 23:41 pm
por 3n31ch
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines