You are on page 1of 7

Universidad de las Fuerzas Armadas ESPE

Sede Latacunga
Nombre: Christian Pérez

Curso: Segundo Electromecánica

Fecha: 31 de julio del 2018

Tema: laboratorio 5

Ejercicio 1
Diseñe un programa que determine la cantidad de días y el nombre de un mes conociendo
los valores numéricos del mes y del año.
import java.awt.event.*;
import java.awt.*;
import javax.swing.*;
public class Programa1 extends JApplet implements ActionListener{
// Declaración de variables
JButton btnProcesar, btnBorrar;
JTextArea txtS;
JLabel lblAño, lblMes;
JTextField txtAño, txtMes;
JScrollPane scpScroll;
// Crea la interfaz gráfica de usuario GUI
public void init() {
getContentPane().setLayout(null);
txtMes = new JTextField();
txtMes.setBounds(61, 15, 107, 23);
getContentPane().add(txtMes);
txtAño = new JTextField();
txtAño.setBounds(61, 39, 107, 23);
getContentPane().add(txtAño);
btnProcesar = new JButton("Procesar");
btnProcesar.setBounds(305, 15, 101, 23);
btnProcesar.addActionListener(this);
getContentPane().add(btnProcesar);
btnBorrar = new JButton("Borrar");
btnBorrar.setBounds(305, 39, 101, 23);
btnBorrar.addActionListener(this);
getContentPane().add(btnBorrar);
lblAño = new JLabel("Año");
lblAño.setBounds(15, 39, 42, 23);
getContentPane().add(lblAño);
lblMes = new JLabel("Mes");
lblMes.setBounds(15, 15, 42, 23);
getContentPane().add(lblMes);
txtS = new JTextArea();
txtS.setFont(new Font("monospaced", 0, 12));
scpScroll = new JScrollPane(txtS);
scpScroll.setBounds(15, 75, 394, 87);
getContentPane().add(scpScroll);
}
// Procesa eventos de tipo ActionEvent
public void actionPerformed( ActionEvent e ){
// Si se hizo clic en Procesar
if( e.getSource() == btnProcesar ){
// Declaración de variables
int dias, mes, año;
String nombre;
// Entrada de datos
mes = Integer.parseInt(txtMes.getText());
año = Integer.parseInt(txtAño.getText());
// Determina el nombre del mes
switch( mes ){
case 1 :
nombre = "Enero";
break;
case 2 :
nombre = "Febrero";
break;
case 3 :
nombre = "Marzo";
break;
case 4 :
nombre = "Abril";
break;
case 5 :
nombre = "Mayo";
break;
case 6 :
nombre = "Junio";
break;
case 7 :
nombre = "Julio";
break;
case 8 :
nombre = "Agosto";
break;
case 9 :
nombre = "Setiembre";
break;
case 10:
nombre = "Octubre";
break;
case 11:
nombre = "Noviembre";
break;
default:
nombre = "Diciembre";
}
// Determina el número de días del mes
switch( mes ){
case 1: case 3: case 5: case 7: case 8: case 10: case 12:
dias = 31;
break;
case 4: case 6: case 9: case 11:
dias = 30;
break;
default:
if((año%4 == 0) && ((año%100 != 0) || (año%400 == 0)))
dias = 29;
else
dias = 28;
}
// Salida de resultados
txtS.setText("Nombre del mes : " + nombre + "\n");
txtS.append ("Número de días : " + dias);
}
// Si se hizo clic en Borrar
if( e.getSource() == btnBorrar ){
txtS.setText("");
txtMes.setText("");
txtAño.setText("");
txtMes.requestFocus();
}
}
}
Ejercicio 2
Dados los siguientes tipos de papel y sus respectivas dimensiones:

Se conoce como área imprimible al área que queda libre luego de descontar los márgenes
superior, inferior, izquierdo y derecho. Diseñe un programa que permita obtener el área
imprimible de un tamaño de papel elegido, en cm2.

import java.awt.event.*;
import java.awt.*;
import javax.swing.*;
public class Programa2 extends JApplet implements ActionListener{
// Declaración de variables
JButton btnProcesar, btnBorrar;
JTextArea txtS;
JComboBox cboTmaño;
JLabel lblMrgDer, lblMrgInf, lblMrgIzq, lblMrgSup, lblTamaño;
JTextField txtMrgDer, txtMrgInf, txtMrgIzq, txtMrgSup;
JScrollPane scpScroll;
// Crea la interfaz gráfica de usuario GUI
public void init() {
getContentPane().setLayout(null);
setBackground(new Color(214,211,206));
txtMrgIzq = new JTextField();
txtMrgIzq.setBounds(145, 39, 107, 23);
getContentPane().add(txtMrgIzq);
txtMrgDer = new JTextField();
txtMrgDer.setBounds(145, 63, 107, 23);
getContentPane().add(txtMrgDer);
txtMrgSup = new JTextField();
txtMrgSup.setBounds(145, 87, 107, 23);
getContentPane().add(txtMrgSup);
txtMrgInf = new JTextField();
txtMrgInf.setBounds(145, 111, 107, 23);
getContentPane().add(txtMrgInf);
btnProcesar = new JButton("Procesar");
btnProcesar.setBounds(307, 15, 101, 23);
btnProcesar.addActionListener(this);
getContentPane().add(btnProcesar);
btnBorrar = new JButton("Borrar");
btnBorrar.setBounds(307, 39, 101, 23);
btnBorrar.addActionListener(this);
getContentPane().add(btnBorrar);
cboTmaño = new JComboBox();
cboTmaño.setBounds(71, 15, 181, 23);
cboTmaño.addItem("A4 297 x 210 mm");
cboTmaño.addItem("B5 182 x 257 mm");
cboTmaño.addItem("A5 148 x 210 mm");
cboTmaño.addItem("Carta 8½ x 11 pulg");
cboTmaño.addItem("Legal 8½ x 14 pulg");
cboTmaño.addItem("Ejecutivo 7¼ x 10½ pulg");
cboTmaño.addItem("Media carta 5½ x 8½ pulg");
getContentPane().add(cboTmaño);
lblMrgDer = new JLabel("Margén derecho");
lblMrgDer.setBounds(14, 63, 124, 23);
getContentPane().add(lblMrgDer);
lblMrgInf = new JLabel("Margén inferior");
lblMrgInf.setBounds(14, 111, 124, 23);
getContentPane().add(lblMrgInf);
lblMrgIzq = new JLabel("Margén izquierdo");
lblMrgIzq.setBounds(14, 39, 124, 23);
getContentPane().add(lblMrgIzq);
lblMrgSup = new JLabel("Margén superior");
lblMrgSup.setBounds(14, 87, 124, 23);
getContentPane().add(lblMrgSup);
lblTamaño = new JLabel("Tamaño");
lblTamaño.setBounds(14, 15, 49, 23);
getContentPane().add(lblTamaño);
txtS = new JTextArea();
txtS.setFont(new Font("monospaced", 0, 12));
scpScroll = new JScrollPane(txtS);
scpScroll.setBounds(14, 147, 394, 69);
getContentPane().add(scpScroll);
}
//Procesa eventos de tipo ActionEvent
public void actionPerformed( ActionEvent e ){
//Si se hizo clic en Procesar
if( e.getSource() == btnProcesar ){
//Declaración de variables
int tamaño;
double mrgsup, mrginf, mrgder, mrgizq, ancho, alto, area;
//Entrada ade datos
tamaño = cboTmaño.getSelectedIndex();
mrgsup = Double.parseDouble(txtMrgSup.getText());
mrginf = Double.parseDouble(txtMrgInf.getText());
mrgder = Double.parseDouble(txtMrgDer.getText());
mrgizq = Double.parseDouble(txtMrgIzq.getText());
//Determina el ancho y el alto del papel en cm
switch(tamaño){
case 0:
ancho = 29.7;
alto = 21.0;
break;
case 1:
ancho = 18.2;
alto = 25.7;
break;
case 2:
ancho = 14.8;
alto = 21.0;
break;
case 3:
ancho =8.5*2.54;
alto = 11*2.54;
break;
case 4:
ancho =8.5*2.54;
alto = 14*2.54;
break;
case 5:
ancho =7.25*2.54;
alto = 10.5*2.54;
break;
default:
ancho =5.5*2.54;
alto = 8.5*2.54;
}
//Calcula el area imprimible
area = (ancho-mrgizq-mrgder)*(alto-mrgsup-mrginf);
//Muestra al área imprimible
txtS.setText("Área imprimible : " + area + "cm²");
}
//Si se hizo clic en Borrar
if( e.getSource() == btnBorrar ){
txtMrgIzq.setText("");
txtMrgDer.setText("");
txtMrgSup.setText("");
txtMrgInf.setText("");
txtS.setText("");
txtMrgIzq.requestFocus();
}
}
}