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
}