Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package envio08;
- import javax.swing.JApplet;
- import java.awt.*;
- import java.awt.event.*;
- public class Ejercicio54 extends JApplet implements ActionListener {
- Label lblTitulo, lblHoraEnt, lblMinEnt, lblHoraSal, lblMinSal;
- TextField txtHoraEnt, txtMinEnt, txtHoraSal, txtMinSal, txtEstadia, txtPrecio;
- Choice cmbCategoria;
- Button btnCalcular;
- public void init() {
- Container cont = getContentPane();
- cont.setLayout(new FlowLayout());
- //Declaracion del combo y sus opciones
- cmbCategoria = new Choice();
- cmbCategoria.add("Auto chico");
- cmbCategoria.add("Auto mediano");
- cmbCategoria.add("Camioneta");
- //Declaracion de labels
- lblTitulo = new Label("Estacionamiento Chantapufi");
- lblHoraEnt = new Label("Hora entrada: ");
- lblHoraSal = new Label("Hora salida: ");
- lblMinEnt = new Label("Minuto entrada: ");
- lblMinSal = new Label("Minuto salida: ");
- //Declaracion de textfields
- txtHoraEnt = new TextField(2);
- txtHoraSal = new TextField(2);
- txtMinEnt = new TextField(2);
- txtMinSal = new TextField(2);
- txtEstadia = new TextField(10);
- txtEstadia.setEditable(false);
- txtPrecio = new TextField(10);
- txtPrecio.setEditable(false);
- //Insercion al contenedor del applet
- cont.add(lblTitulo);
- cont.add(lblHoraEnt);
- cont.add(txtHoraEnt);
- cont.add(lblMinEnt);
- cont.add(txtMinEnt);
- cont.add(lblHoraSal);
- cont.add(txtHoraSal);
- cont.add(lblMinSal);
- cont.add(txtMinSal);
- cont.add(cmbCategoria);
- cont.add(txtEstadia);
- cont.add(txtPrecio);
- //Declaracion del boton y insercion al applet
- btnCalcular = new Button("Calcular");
- cont.add(btnCalcular);
- btnCalcular.addActionListener(this);
- }
- public static int getNroCategoria(String cat) {
- if (cat=="Auto chico")
- return 1;
- else {
- if (cat=="Auto mediano")
- return 2;
- else
- if(cat=="Camioneta")
- return 3;
- }
- return 0;
- }
- public static float calcularPrecio(int cat, int horas, int minutos) {
- float cpmh=0,cmin=0, precio;
- switch(cat) {
- case 1: cpmh = 1;
- cmin = (float) 0.35;
- break;
- case 2: cpmh = (float) 1.5;
- cmin = (float) 0.45;
- break;
- case 3: cpmh = 2;
- cmin = (float) 0.55;
- break;
- }
- precio=cpmh;
- int cant_mins = minutos + (horas*60);
- if (cant_mins>30) {
- cant_mins -=30;
- int cuartos = (cant_mins)/4;
- precio = precio + (cuartos*cmin);
- }
- return precio;
- }
- public void actionPerformed(ActionEvent ev) {
- if (Integer.parseInt(txtHoraEnt.getText())<7) {
- txtEstadia.setText("No abierto");
- return;
- }
- int hora_est = Integer.parseInt(txtHoraSal.getText())-Integer.parseInt(txtHoraEnt.getText());
- int min_est = Integer.parseInt(txtMinSal.getText())-Integer.parseInt(txtMinEnt.getText());
- if (min_est<0) {
- hora_est--;
- min_est=min_est+60;
- }
- txtEstadia.setText(hora_est+"hs"+min_est+"mn");
- int cat = getNroCategoria(cmbCategoria.getSelectedItem());
- float precio = calcularPrecio(cat,hora_est,min_est);
- txtPrecio.setText(precio+" $");
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment