Calcular Edad
Publicado por Yeison (2 intervenciones) el 11/09/2017 21:21:39
Hola muchachos estoy empezando con la programacion en java y haciendo un pequeño programa con JFrame
Muestra la ventana pero no muestra los elementos del panel
Les dejo el codigo por si me puden ayudar saludos:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
package secuenciales.calcularFecha;
import java.awt.Container;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.*;
import javax.swing.*;
// importo las librerias completas de la clase Swing, para no tener que importar una a una.
public class Calcular extends JFrame {
// int edad=0;
JLabel labelNombre = new JLabel();
JTextField entradaNombre = new JTextField(20);
JLabel labelFecha = new JLabel();
JLabel labelDia = new JLabel();
JComboBox comboDia = new JComboBox();
JLabel labelMes = new JLabel();
JComboBox comboMes = new JComboBox();
JLabel labelAno = new JLabel();
JComboBox comboAno = new JComboBox();
JButton btnCalcular = new JButton();
JPanel panel = new JPanel();
public Calcular() {
// añadimos un titulo y adicionamos los label al panel
setTitle("Calcular Edad");
setSize(300,300);
panel.setLayout(null);
panel.add(labelNombre);
labelNombre.setBounds(20,10,100,30);
panel.add(entradaNombre);
entradaNombre.setBounds(80,15,100,20);
panel.add(labelFecha);
labelFecha.setBounds(50,50,150,30);
panel.add(labelDia);
labelDia.setBounds(20,70,100,30);
panel.add(labelMes);
labelMes.setBounds(70,70,100,30);
panel.add(labelAno);
labelAno.setBounds(120,70,100,30);
panel.add(comboDia);
comboDia.setBounds(20,100,40,25);
for(int dia=1; dia<=31;dia++){
comboDia.addItem(String.valueOf(dia));
}
panel.add(comboMes);
comboMes.setBounds(70,100,40,25);
for(int mes=1; mes<=12;mes++){
comboMes.addItem(String.valueOf(mes));
}
panel.add(comboAno);
comboAno.setBounds(120,100,60,25);
for(int ano=1970; ano<=2012;ano++){
comboAno.addItem(String.valueOf(ano));
}
panel.add(btnCalcular);
btnCalcular.setBounds(50,150,120,30);
Container c = new Container();
c.add(panel);
btnCalcular.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// Controlamos las acciones del boton
Calendar fechaActual = new GregorianCalendar();
int diaActual = fechaActual.get(Calendar.DAY_OF_MONTH);
int mesActual = fechaActual.get(Calendar.MONTH)+1;
int anoActual = fechaActual.get(Calendar.YEAR);
int diaNuevo = Integer.parseInt((String)comboDia.getSelectedItem());
int mesNuevo = Integer.parseInt((String)comboMes.getSelectedItem());
int anoNuevo = Integer.parseInt((String)comboAno.getSelectedItem());
String hora=fechaActual.get(Calendar.HOUR)+":"+fechaActual.get(Calendar.MINUTE);
int Edad=anoActual-anoNuevo;
if(mesNuevo<mesActual) {
Edad=Edad;
}
else {
if(mesNuevo>mesActual) {
Edad=Edad-1;
}else {
if(diaActual>diaNuevo){
Edad=Edad;
}else {
if(diaActual<diaNuevo){
Edad=Edad-1;
}
}
}
}
JOptionPane.showMessageDialog(null,"Calculando Edad\n" + entradaNombre.getText()+
"Tiene "+ "Edad "+ "Años");
}
});
}
}
1
2
3
4
5
6
7
8
9
10
11
package secuenciales.calcularFecha;
public class TestEdad {
public static void main(String[] args) {
Calcular nuevo = new Calcular();
nuevo.setVisible(true);
}
}
Espero me puedan ayudar saludos,
Valora esta pregunta


0