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

Añadir elementos de un vector objeto en un Jtable

Estas en el tema de Añadir elementos de un vector objeto en un Jtable en el foro de Java en Foros del Web. HOla amigos, se trata de capturar median tres jtexfields EL nombre, apellido y edad de un persona, la cual luego es añadida atraves del evento ...
  #1 (permalink)  
Antiguo 14/09/2010, 10:09
 
Fecha de Ingreso: marzo-2009
Mensajes: 90
Antigüedad: 15 años, 8 meses
Puntos: 0
Añadir elementos de un vector objeto en un Jtable

HOla amigos, se trata de capturar median tres jtexfields EL nombre, apellido y edad de un persona, la cual luego es añadida atraves del evento de un boton q llame añadir, este boton añade los campos ya mencionados en un vector objeto, , luego con un boton listar los listaba en un jList q lo llame jList1 , ahora me han pedido q los liste noo en un jList sino en un Jtable.


package logica;

public class Persona {
private String nombres;
private String apellidos;
private int edad;

public String getNombres() {
return nombres;
}

public void setNombres(String nombres) {
this.nombres = nombres;
}

public String getApellidos() {
return apellidos;
}

public void setApellidos(String apellidos) {
this.apellidos = apellidos;
}

public int getEdad() {
return edad;
}


public void setEdad(int edad) {
this.edad = edad;
}

}


package logica;

public class Vector_Persona{

Persona [] vectorp;

private int nelementos;

public int getNelementos() {
return nelementos;
}

public void setNelementos(int nelementos) {
this.nelementos = nelementos;
}

public Vector_Persona(int T){

vectorp = new Persona [T];
nelementos=0;
}
public void setvector(int i, Persona per){
vectorp[i]=per;
}

public Persona getvector(int i){

return vectorp[i];
}

public Persona buscar(String dato){
Persona per=new Persona();
per.setApellidos("");
for (int i=0;i<nelementos;i++){
if (getvector(i).getApellidos().compareTo(dato)==0){
per=getvector(i);
}
}

return per;
}
}

package vista;
import javax.swing.DefaultListModel;
import javax.swing.JOptionPane;
import logica.*;

public class vista_persona extends javax.swing.JFrame {

Vector_Persona myvector;
int longitud;

public vista_persona() {
initComponents();
}

private void initComponents() {

jTextField1 = new javax.swing.JTextField();
jTextField2 = new javax.swing.JTextField();
jTextField3 = new javax.swing.JTextField();
jButton1 = new javax.swing.JButton();
jScrollPane1 = new javax.swing.JScrollPane();
jList1 = new javax.swing.JList();
jLabel1 = new javax.swing.JLabel();
jLabel2 = new javax.swing.JLabel();
jLabel3 = new javax.swing.JLabel();
jButton2 = new javax.swing.JButton();
jButton3 = new javax.swing.JButton();

AQUI VAN UNAS COSAS PERO EL TEXTO SE HIZO MUY GRANDE

jButton1.setText("Adicionar");
jButton1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton1ActionPerformed(evt);
}
});

jScrollPane1.setViewportView(jList1);

jLabel1.setText("Nombre");

jLabel2.setText("Apellido");

jLabel3.setText("Edad");

jButton2.setText("Listar");
jButton2.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton2ActionPerformed(evt);
}
});

jButton3.setText("Buscar");
jButton3.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton3ActionPerformed(evt);
}
});

AQUI IBAN COSAS SWING Y ESO Q NO IMPORTA

private void formWindowOpened(java.awt.event.WindowEvent evt) {
longitud = Integer.parseInt(JOptionPane.showInputDialog("Ingr ese el tamaño"));
myvector = new Vector_Persona(longitud);

}

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {

int i = myvector.getNelementos();

Persona per=new Persona();
per.setNombres(jTextField1.getText());
per.setApellidos(jTextField2.getText());
per.setEdad(Integer.parseInt(jTextField3.getText() ));

myvector.setvector(i, per);
i++;

myvector.setNelementos(i);
jTextField1.setText("");
jTextField2.setText("");
jTextField3.setText("");
jTextField1.grabFocus();

}

private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {

DefaultListModel list= new DefaultListModel();
int T= myvector.getNelementos();
for(int i=0; i< T; i++){
list.addElement(myvector.getvector(i).getApellidos ()+" "+myvector.getvector(i).getNombres()+" "+myvector.getvector(i).getEdad());

}
jList1.setModel(list);
}

private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {
Persona per =new Persona();
per=myvector.buscar(jTextField2.getText());
if (per.getApellidos().compareTo("")==0)
JOptionPane.showMessageDialog(null,"No existe el dato");
else
{
jTextField1.setText(per.getNombres());
jTextField3.setText(String.valueOf(per.getEdad())) ;
}

}



AQUI VAN OTRAS COSAS PERO SE HIZO MUY LARGO EL TEXTO

}
  #2 (permalink)  
Antiguo 20/09/2010, 01:25
 
Fecha de Ingreso: septiembre-2010
Mensajes: 41
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: Añadir elementos de un vector objeto en un Jtable

Deberias usar la etiqueta de codigo cuando coloques codigo java. asi se entiende mejor tu codigo.
Viendo lo que te piden, no tendria porque ser tan largo el codigo.

yo lo que haria seria lo siguiente:
Usaria una linkedList
Código PHP:
LinkedList<Stringalumno = new LinkedList<String>(); 
luego cada vez que guardo un alumno lo haria con el metodo addLast:
Código PHP:
alumno.addLast(textfield1.getText());
alumno.addLast(textfield2.getText());
alumno.addLast(textfield2.getText()); 
y te aconsejo que utilices la DefaultTableModel.

Etiquetas: añadir, elementos, jtable, objeto, vectores
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 13:11.