martes, 10 de enero de 2012

Calcular Edad

Programa que calcula la Edad de una persona, utilizando JLabel, JTextField, JComboBox y JButton


import java.awt.Container;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Calendar;
import java.util.GregorianCalendar;
import java.util.*;
import javax.swing.*;

public class Calcular extends JFrame {
//int Edad=0;

JLabel lblNombre=new JLabel("Nombre:");
JTextField txtNombre=new JTextField(10);
JLabel lblFecha=new JLabel("Fecha de Nacimiento");
JLabel lblDia=new JLabel("Dia");
JComboBox cbxDia=new JComboBox();
JLabel lblMes=new JLabel("Mes");
JComboBox cbxMes=new JComboBox();
JLabel lblAño=new JLabel("Año");
JComboBox cbxAño=new JComboBox();
JButton btnCalcular=new JButton("Calcular Edad");
JPanel panel=new JPanel();

public Calcular(){
setTitle("Calcular Edad");
setSize(300,300);
panel.setLayout(null);
panel.add(lblNombre);
lblNombre.setBounds(20,10,100,30);
panel.add(txtNombre);
txtNombre.setBounds(80,15,100,20);
panel.add(lblFecha);
lblFecha.setBounds(50, 50, 150, 30);
panel.add(lblDia);
lblDia.setBounds(20,70,100,30);
panel.add(lblMes);
lblMes.setBounds(70,70,100,30);
panel.add(lblAño);
lblAño.setBounds(120,70,100,30);

panel.add(cbxDia);
cbxDia.setBounds(20,100,40,25);

for(int r=1;r<=31;r++){
cbxDia.addItem(String.valueOf(r));
}
panel.add(cbxMes);
cbxMes.setBounds(70,100,40,25);

for(int o=1;o<=12;o++){
cbxMes.addItem(String.valueOf(o));
}
panel.add(cbxAño);
cbxAño.setBounds(120,100,60,25);

for(int m=1970;m<=2012;m++){
cbxAño.addItem(String.valueOf(m));

panel.add(btnCalcular);
}

btnCalcular.setBounds(50,150,120,30);

Container c=getContentPane();
c.add(panel);

btnCalcular.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){

Calendar fechaActual=new GregorianCalendar();

int diaA=fechaActual.get(Calendar.DAY_OF_MONTH);
int mesA=fechaActual.get(Calendar.MONTH)+1;
int añoA=fechaActual.get(Calendar.YEAR);

int dN=Integer.parseInt((String)cbxDia.getSelectedItem());
int mN=Integer.parseInt((String)cbxMes.getSelectedItem());
int aN=Integer.parseInt((String)cbxAño.getSelectedItem());

String hora=fechaActual.get(Calendar.HOUR)+":"+fechaActual.get(Calendar.MINUTE);

int Edad=añoA-aN;

if(mN<mesA){
Edad=Edad;
}
else{
if(mN>mesA){
Edad=Edad-1;
}
else{
if(diaA>dN){
Edad=Edad;
}
else{
if(diaA<dN){
  Edad=Edad-1;
}
}
}
}


       
JOptionPane.showMessageDialog(null, "Calculando Edad \n" + txtNombre.getText() + " tiene " + Edad + " años ");
}
});


}
}

//Esto va en otra clase


public class TestEdad {

public static void main(String[] args) {
new Calcular().setVisible(true);

}

}



No hay comentarios:

Publicar un comentario