Flores Martínez Isabela
A mi me tocó investigar sobre password, había que agregarlo al programa de la calculadora, una vez que ingresas el password correctamente te manda directo a la calculadora, para esto hay que crear dos códigos, uno en le que se encuentra todo el codigo para el password y el otro de la calculadora al cual después con un action listener le activamos la función del password.
Aquí el código del password:
//* @author isabela
//*/
package tercer.parcial;;
import java.awt.*;
import java.awt.event.*;
import java.text.ParseException;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.*;
public class pass{
public pass()throws ParseException{
//Creas el frame
JFrame frame=new JFrame("Contraseña");
//Añandes el frame
JDesktopPane a=new JDesktopPane();
//creas las equitetas
JLabel nomb=new JLabel("Usuario");
JLabel cont=new JLabel("Contraseña");
JLabel pal=new JLabel("Ingrese su Usuario y Contraseña");
JButton bot=new JButton("Entrar");
JButton bt=new JButton("Salir");
//Se crean los campos para llenar el text field para el nombre y el password field para la contraseña
final JPasswordField pass=new JPasswordField(10);
final JTextField nom=new JTextField(15);
//Se establecen las coordenadas de los campos (separa del eje x)(separa del eje y)(longitud)(altura)
//son las coordenadas y tamaño de las etiquetas
nomb.setBounds(10,50,70,30);
cont.setBounds(200,50,100,30);
pal.setBounds(10,10,300,30);
bot.setBounds(280,90,100,40);
bt.setBounds(70,90,100,40);
//ahora estos son del Text y del password
pass.setBounds(280,50,125,30);
nom.setBounds(70,50,125,30);
//se añaden al frame
a.add(nomb);
a.add(cont);
a.add(pal);
a.add(bot);
a.add(pass);
a.add(nom);
a.add(bt);
//forma y tamaño del frame
a.setBackground(Color.WHITE);
frame.add(a);
frame.setSize(450,175);
frame.setLocationRelativeTo(null);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
bot.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
if(String.valueOf(nom.getText()).compareTo("Isabela")==0 &&
String.valueOf(pass.getPassword()).compareTo("constelacion")==0){
examen_final contra=null;
try {
contra=new examen_final();
} catch (ParseException ex) {
Logger.getLogger(pass.class.getName()).log(Level.SEVERE, null, ex);
}
}else{
JOptionPane.showMessageDialog(null,"Contraseña o Nombre Incorrectos");
}
}
});
bt.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
System.exit(0);
}
});
}
public static void main(String[]args)throws ParseException{
pass obj=new pass();
}
}
Después se crea el programa al cuál se va a ligar la ventana de password:
package tercer.parcial;
import java.awt.Color;
import java.awt.event.*;
import java.text.DecimalFormat;
import java.text.ParseException;
import javax.swing.*;
import javax.swing.text.MaskFormatter;
/**
*
* @author isa
*/
public class examen_final {
private JCheckBox c1,c2;
public examen_final() throws ParseException{
final JRadioButton masc,fem;
JLabel sex=new JLabel("Genero");
masc =new JRadioButton("H");
fem =new JRadioButton("M");
//
final JLabel cua=new JLabel("Ciclo");
final JComboBox ciclo=new JComboBox();
ciclo.addItem(" ");
ciclo.addItem("Primavera 2011");
ciclo.addItem("Verano 2011");
ciclo.addItem("Otoño 2011");
ciclo.addItem("Primavera 2012");
ciclo.addItem("Verano 2012");
ciclo.addItem("Otoño 2012");
ciclo.addItem("Primavera 2013");
ciclo.addItem("Verano 2013");
ciclo.addItem("Otoño 2013");
//
JFrame frame=new JFrame("Calcula tu Calificacion");
JDesktopPane esc=new JDesktopPane();
//
JLabel examen=new JLabel("Examen");
JLabel practica=new JLabel("Practica");
JLabel promedios=new JLabel("Promedios");
JLabel parcial=new JLabel("Parcial");
JLabel alum=new JLabel("Nombre del alumno");
JLabel cuen=new JLabel("No. Cuenta");
JLabel fecha=new JLabel("Fecha");
//genero
JLabel res=new JLabel("Turno");
c1=new JCheckBox("Matutino");
c2=new JCheckBox("Vespertino");
//
JLabel epromedio1=new JLabel("Parcial 1");
JLabel prom1=new JLabel("1° Parcial");
JLabel exam1=new JLabel("60%");
JLabel pra1=new JLabel("40%");
//fin etiquetas primer parcial
JLabel epromedio2=new JLabel("Parcial 2");
JLabel prom2=new JLabel("2° Parcial");
JLabel exam2=new JLabel("70%");
JLabel pra2=new JLabel("30%");
//fin etiquetas segundo parcial
JLabel epromedio3=new JLabel("Parcial 3");
JLabel prom3=new JLabel("3° Parcial");
JLabel exam3=new JLabel("40");
JLabel pra3=new JLabel("60%");
//fin etiquetas tercer parcial
JLabel epromedio=new JLabel("PROMEDIO FINAL");
//
final JTextField promedio1=new JTextField();
final JTextField promedio2=new JTextField();
final JTextField promedio3=new JTextField();
final JTextField promedio=new JTextField();
final JFormattedTextField exa1=new JFormattedTextField();
final JFormattedTextField exa2=new JFormattedTextField();
final JFormattedTextField exa3=new JFormattedTextField();
final JFormattedTextField prac1=new JFormattedTextField();
final JFormattedTextField prac2=new JFormattedTextField();
final JFormattedTextField prac3=new JFormattedTextField();
final JTextArea tea=new JTextArea();
//final JTextField =new JTextField();
JButton calcular=new JButton("Calcular");
JButton nuevo=new JButton("Nuevo");
//Primer parcial
epromedio1.setBounds(10,150,100,30);
promedio1.setBounds(370,150,100,30);
prom1.setBounds(300, 150, 100, 30);
exam1.setBounds(75,150, 100, 30);
exa1.setBounds(100,150, 50, 30);
pra1.setBounds(200,150, 100, 30);
prac1.setBounds(225, 150, 50, 30);
//Segundo Parcial
epromedio2.setBounds(10,215,100,30);
promedio2.setBounds(370,215,100,30);
prom2.setBounds(300, 215, 100, 30);
exam2.setBounds(75, 215, 100, 30);
exa2.setBounds(100, 215, 50, 30);
pra2.setBounds(200, 215, 100, 30);
prac2.setBounds(225, 215, 50, 30);
//Tercer Parcial
epromedio3.setBounds(10,290,100,30);
promedio3.setBounds(370,290,100,30);
prom3.setBounds(300, 290, 100, 30);
exam3.setBounds(75, 290, 100, 30);
exa3.setBounds(100, 290, 50, 30);
pra3.setBounds(200, 290, 100, 30);
prac3.setBounds(225, 290, 50, 30);
//Promedio final
epromedio.setBounds(500,290,100,30);
promedio.setBounds(600,290,100,30);
//
examen.setBounds(100, 110, 100, 30);
practica.setBounds(200, 110, 100, 30);
promedios.setBounds(300, 110, 100, 30);
parcial.setBounds(10,110,100,30);
//botones
calcular.setBounds(600,350,90,40);
nuevo.setBounds(500,350,90,40);
//
alum.setBounds(5,10,150,30);
fecha.setBounds(425,10,150,30);
cuen.setBounds(5,65,100,30);
//turno
res.setBounds(550,10,80,30);
c1.setBounds(590,10,85,30);
c2.setBounds(675,10,100,30);
//combo
ciclo.setBounds(275,65,100,30);
cua.setBounds(180,65,100,30);
//Formato de fecha
MaskFormatter fech=new MaskFormatter("##-##-####");
fech.setPlaceholderCharacter('_');
final JFormattedTextField fe=new JFormattedTextField(fech);
esc.add(fe);
fe.setBounds(475,10,70,30);
//Cuenta
MaskFormatter cu=new MaskFormatter("########");
cu.setPlaceholderCharacter('_');
final JFormattedTextField cue=new JFormattedTextField(cu);
cue.setBounds(75,65,90,30);
esc.add(cue);
//Nombre
final JTextField nom=new JTextField();
esc.add(nom);
nom.setBounds(120,10,150,30);
//Area de Texto
tea.setBounds(550,65,200,140);
esc.add(tea);
//
sex.setBounds(275,10,50,30);
masc.setBounds(325,10,40,30);
fem.setBounds(375,10,40,30);
//se agregan al frame
esc.add(epromedio1);
esc.add(promedio1);
esc.add(epromedio2);
esc.add(promedio2);
esc.add(epromedio3);
esc.add(promedio3);
esc.add(epromedio);
esc.add(promedio);
esc.add(calcular);
esc.add(prom2);
esc.add(prom3);
esc.add(prom1);
esc.add(exam1);
esc.add(exam2);
esc.add(exam3);
esc.add(examen);
esc.add(practica);
esc.add(promedios);
esc.add(exa1);
esc.add(exa2);
esc.add(exa3);
esc.add(parcial);
esc.add(pra1);
esc.add(pra2);
esc.add(pra3);
esc.add(prac1);
esc.add(prac2);
esc.add(prac3);
esc.add(nuevo);
esc.add(alum);
esc.add(cuen);
esc.add(fecha);
esc.add(res);
esc.add(c1);
esc.add(c2);
esc.add(sex);
esc.add(masc);
esc.add(fem);
esc.add(ciclo);
esc.add(cua);
//esc.add();para agregarlos al frame
esc.setBackground(Color.WHITE);
frame.add(esc);
frame.setSize(800,450);
frame.setLocationRelativeTo(null);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
//
calcular.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
DecimalFormat form=new DecimalFormat("##.##");
String cad="";
if (c1.isSelected()==true) {
cad=cad+"Matutino";
}else if (c2.isSelected()==true){
cad=cad+"Vespertino";
}
String ca="";
if(masc.isSelected()==true){
ca=ca+"Masculino";
}else if(fem.isSelected()==true){
ca=ca+"Femenino";
}
double p1,p2,p3,e1=0,e2=0,e3=0,pr1=0,pr2=0,pr3=0,uno,dos,tres,p;
//
e1=Double.parseDouble(exa1.getText());
pr1=Double.parseDouble(prac1.getText());
e2=Double.parseDouble(exa2.getText());
pr2=Double.parseDouble(prac2.getText());
e3=Double.parseDouble(exa3.getText());
pr3=Double.parseDouble(prac3.getText());
e1=(e1*.6);
e2=e2*.7;
e3=e3*.4;
pr1=pr1*.4;
pr2=pr2*.3;
pr3=pr3*.6;
uno=e1+pr1;
dos=e2+pr2;
tres=e3+pr3;
promedio1.setText(form.format(uno));
promedio2.setText(form.format(dos));
promedio3.setText(form.format(tres));
p1=Double.parseDouble(promedio1.getText());
p2=Double.parseDouble(promedio2.getText());
p3=Double.parseDouble(promedio3.getText());
p=(p1+p2+p3)/3;
promedio.setText(form.format(p));
tea.setText("Los Datos del Alumno son:"+"\n"+"Nombre: "+nom.getText()+"\n"
+ "Numero de Cuenta: "+cue.getText()+"\n"
+ "Promedio Final: "+promedio.getText()+"\n"
+ "Genero: "+ca+"\n"
+ "Fecha de Consulta: "+fe.getText()+"\n"
+ "Turno: "+cad+"\n"
+ "Ciclo: "+(ciclo.getSelectedItem().toString()));
}
});
nuevo.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
promedio.setText("");
exa1.setText("");
exa2.setText("");
exa3.setText("");
prac1.setText("");
prac2.setText("");
prac3.setText("");
promedio1.setText("");
promedio2.setText("");
promedio3.setText("");
nom.setText("");
cue.setText("");
fe.setText("");
tea.setText("");
c2.setSelected(false);
c1.setSelected(false);
masc.setSelected(false);
fem.setSelected(false);
ciclo.setSelectedIndex(0);
}
});
}
public static void main(String[]args) throws ParseException{
examen_final obj=new examen_final();
}
}