//para ello se crean diferentes clases y se le llama en un formulario
public class Persona {
private String codigo;
private String nombre;
private String apellidos;
private int edad;
public Persona(String codigo, String nombre, String apellidos, int edad) {
this.codigo = codigo;
this.nombre = nombre;
this.apellidos = apellidos;
this.edad = edad;
}
public String getCodigo() {
return codigo;
}
public void setCodigo(String codigo) {
this.codigo = codigo;
}
public String getNombre() {
return nombre;
}
public void setNombre(String nombre) {
this.nombre = nombre;
}
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 GUItabla_arrayList;
import java.util.ArrayList;
/**
*
* @author CARLOS-D
*/
public class Personas {
private ArrayList personas;
private int max_personas=20;
public Personas(){
personas=new ArrayList(max_personas);
}
public void addPersona(Persona p){
if (personas.size()<max_personas) {
personas.add(p);
}else{
System.out.println("El arreglo esta lleno");
}
}
public Persona getPersona(int index){
return (Persona) personas.get(index);
}
public int cantidad(){
return personas.size();
}
public boolean validar_codigo(String codigo){
for (int i = 0; i < personas.size(); i++) {
if (getPersona(i).getCodigo().equals(codigo)) {
return true;
}
}
return false;
}
public int suma_total_edades(){
int suma_edad=0;
for (int i = 0; i < personas.size(); i++) {
suma_edad=suma_edad+getPersona(i).getEdad();
}
return suma_edad;
}
public void actualizarPersona(String codigo,Persona p){
boolean estado=false;
for (int i = 0; i < 10; i++) {
if (getPersona(i).getCodigo().equals(codigo)) {
estado=true;
personas.set(i, p);
}
}
if (estado==false) {
System.out.println("Elemento no encontrado");
}
}
public void eliminarPersona(String codigo,Persona p){
boolean estado=false;
for (int i = 0; i < 10; i++) {
if (getPersona(i).getCodigo().equals(codigo)) {
estado=true;
personas.remove(i);
}
}
if (estado==false) {
System.out.println("Elemento no encontrado");
}
}
}
//---------------------------------------------
package GUItabla_arrayList;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.table.DefaultTableModel;
/**
*
* @author CARLOS-D
*/
public class Form_Persona extends JFrame implements ActionListener{
private JLabel lblCodigo,lblNombre,lblApellido,lblEdad,lblSumaTotal;
private JTextField txtfCodigo,txtfNombre,txtfApellido,txtfEdad,txtfSumaTotal;
private JButton btnAgregar,btnMostrar,btnModificar,btnEliminar;
private JTable tabResultados;
private DefaultTableModel dtm;
private JScrollPane pane;
private String titulos []={"Codigo", "Nombre", "Apellidos", "Edad"};
public Form_Persona(){
super("Tabla de Personas");
Init();
}
Personas personas=new Personas();
public void Init(){
lblCodigo = new JLabel();
lblCodigo.setText("Codigo");
lblCodigo.setBounds(20, 20, 100, 25);
add(lblCodigo);
txtfCodigo = new JTextField();
txtfCodigo.setBounds(80, 20, 100, 25);
add(txtfCodigo);
lblNombre = new JLabel();
lblNombre.setText("Nombre");
lblNombre.setBounds(20, 50, 100, 25);
add(lblNombre);
txtfNombre = new JTextField();
txtfNombre.setBounds(80, 50, 100, 25);
add(txtfNombre);
lblApellido = new JLabel();
lblApellido.setText("Apellidos");
lblApellido.setBounds(20, 80, 100, 25);
add(lblApellido);
txtfApellido = new JTextField();
txtfApellido.setBounds(80, 80, 100, 25);
add(txtfApellido);
lblEdad = new JLabel();
lblEdad.setText("Edad");
lblEdad.setBounds(20, 110, 100, 25);
add(lblEdad);
txtfEdad = new JTextField();
txtfEdad.setBounds(80, 110, 100, 25);
add(txtfEdad);
lblSumaTotal = new JLabel();
lblSumaTotal.setText("Suma Total");
lblSumaTotal.setBounds(20, 270, 100, 25);
add(lblSumaTotal);
txtfSumaTotal = new JTextField();
txtfSumaTotal.setBounds(100, 270, 100, 25);
add(txtfSumaTotal);
txtfSumaTotal.setEditable(false);
btnAgregar = new JButton();
btnAgregar.setText("Agregar");
btnAgregar.setBounds(200, 20, 100, 25);
add(btnAgregar);
btnAgregar.addActionListener(this);
btnMostrar = new JButton();
btnMostrar.setText("Mostrar");
btnMostrar.setBounds(200, 50, 100, 25);
add(btnMostrar);
btnMostrar.addActionListener(this);
btnEliminar = new JButton();
btnEliminar.setText("Eliminar");
btnEliminar.setBounds(200, 80, 100, 25);
add(btnEliminar);
btnEliminar.addActionListener(this);
btnModificar = new JButton();
btnModificar.setText("Modificar");
btnModificar.setBounds(200, 110, 100, 25);
add(btnModificar);
btnModificar.addActionListener(this);
tabResultados= new JTable();
pane = new JScrollPane(tabResultados);
pane.setBounds(20, 150, 300, 100);
add(pane);
}
public void actionPerformed(ActionEvent e) {
if (e.getSource().equals(btnAgregar)) {
String codigo = txtfCodigo.getText();
String nombre = txtfNombre.getText();
String apellido = txtfApellido.getText();
int edad = Integer.parseInt(txtfEdad.getText());
if (personas.validar_codigo(codigo)==true) {
JOptionPane.showMessageDialog(null, "Este codigo es repetido");
}else{
Persona p1 = new Persona(codigo, nombre, apellido, edad);
personas.addPersona(p1);
mostrar_lista();
}
txtfCodigo.setText("");
txtfNombre.setText("");
txtfApellido.setText("");
txtfEdad.setText("");
//area.append("");
}
if (e.getSource().equals(btnMostrar)) {
/* for (int i = 0; i < per.getPersona(i); i++) {
area.append("Nombre: " + ap.getPersona(i).getNombre());
area.append("\nApellido :" + ap.getPersona(i).getApellido());
area.append("\nEdad: " + ap.getPersona(i).getEdad()+"\n\n");
}*/
}
if (e.getSource().equals(btnEliminar)) {
}
if (e.getSource().equals(btnModificar)) {
}
}
public void mostrar_lista(){
Object[] registros = new Object[4];
dtm = new DefaultTableModel(null,titulos);
for (int i = 0; i < personas.cantidad(); i++) {
Persona p = personas.getPersona(i);
registros[0]=p.getCodigo();
registros[1]=p.getNombre();
registros[2]=p.getApellidos();
registros[3]=p.getEdad();
dtm.addRow(registros);
}
tabResultados.setModel(dtm);
txtfSumaTotal.setText(""+personas.suma_total_edades());
}
public static void main(String[] args) {
Form_Persona fp1 = new Form_Persona();
fp1.setLayout(null);
fp1.setVisible(true);
fp1.setSize(400, 500);
fp1.setDefaultCloseOperation(EXIT_ON_CLOSE);
}
}
en que se basa esta libreria " import javax.swing.table.DefaultTableModel;"
ResponderEliminary cuando se las usa ?
ResponderEliminar