Está en la página 1de 10

CODIGO FUENTE

package quiz;

import java.awt.BorderLayout;
import java.awt.FlowLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
import javax.swing.table.DefaultTableModel;

public class Quiz extends JFrame {

JPanel panelContenedor = new JPanel();


JPanel panelIzquierdo = new JPanel();
JPanel panelCCentral = new JPanel();
JPanel panelInferior = new JPanel();
JTabbedPane pestaña = new JTabbedPane();

JButton calcularnomina = new JButton("Calcular Nomina");


JButton guardarliquidacion = new JButton("Guardar Linquidacion");
JTextField txtCedula = new JTextField();
JTextField txtApellido = new JTextField();
JTextField txtNombre = new JTextField();
JTextField txtCargo = new JTextField();
JTextField txtHorasTrabajadas = new JTextField();
JTextField txtValordelaHolra = new JTextField();
JTextField txtTotalDevengado = new JTextField();
JTextField txtDctoSalud = new JTextField();
JTextField txtDctoPencion = new JTextField();
JTextField txtTotalDeducidos = new JTextField();
JTextField txtNetoaPagar = new JTextField();

JTable tablaEmpleado;
JScrollPane iscrollPane;
DefaultTableModel modeloTabla;

Quiz() {

setSize(900, 400);
creaPanel();
iniciaComponentes();
getContentPane().add(pestaña);
setVisible(true);
setLocationRelativeTo(null);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}

void creaPanel() {
panelIzquierdo = new JPanel();
panelIzquierdo.setLayout(new GridLayout(11, 1));
panelIzquierdo.add(new JLabel("Cedula"));
panelIzquierdo.add(new JLabel("Apellidos"));
panelIzquierdo.add(new JLabel("Nombres"));
panelIzquierdo.add(new JLabel("Cargo"));
panelIzquierdo.add(new JLabel("Horas Trabajadas"));
panelIzquierdo.add(new JLabel("Valor de la Hora "));
panelIzquierdo.add(new JLabel("Total Devengado"));
panelIzquierdo.add(new JLabel("Dcto Salud "));
panelIzquierdo.add(new JLabel("Dcto Pencion"));
panelIzquierdo.add(new JLabel("Total Deducidos"));
panelIzquierdo.add(new JLabel("Neto a Pagar"));

panelCCentral.setLayout(new GridLayout(11, 1));


panelCCentral.add(txtCedula);
panelCCentral.add(txtApellido);
panelCCentral.add(txtNombre);
panelCCentral.add(txtCargo);
panelCCentral.add(txtHorasTrabajadas);
panelCCentral.add(txtValordelaHolra);
panelCCentral.add(txtTotalDevengado);
panelCCentral.add(txtDctoSalud);
panelCCentral.add(txtDctoPencion);
panelCCentral.add(txtTotalDeducidos);
panelCCentral.add(txtNetoaPagar);

txtTotalDevengado.setEditable(false);
txtDctoSalud.setEditable(false);
txtDctoPencion.setEditable(false);
txtTotalDeducidos.setEditable(false);
txtNetoaPagar.setEditable(false);
panelInferior.setLayout(new FlowLayout());
panelInferior.add(calcularnomina);
panelInferior.add(guardarliquidacion);

panelContenedor.setBorder(BorderFactory.createEmptyBorder(20, 20, 20,


20));
panelContenedor.setLayout(new BorderLayout(10, 0));
panelContenedor.add(panelIzquierdo, BorderLayout.WEST);
panelContenedor.add(panelCCentral, BorderLayout.CENTER);
panelContenedor.add(panelInferior, BorderLayout.SOUTH);
pestaña.addTab("Registro de Empleados", panelContenedor);

void iniciaComponentes() {

Object[][] datosEmpleados = new Object[][]{};

String[] cabeceras = new String[]{"Cedula", "Apellido", "Nombre", "Cargo",


"Hora", "Valor Hora", "Devengado", "Salud", "Pencion", "Deducidos", "Neto a
Pagar"};

modeloTabla = new DefaultTableModel(datosEmpleados, cabeceras);


tablaEmpleado = new JTable(modeloTabla);
iscrollPane = new JScrollPane(tablaEmpleado);
pestaña.addTab("Reporte", iscrollPane);

calcularnomina.addActionListener(new ActionListener() {
int cod,nhoras,valorh,tdevengado;
double salud,pension,deducidos,npagar;

public void actionPerformed(ActionEvent ae) {


if(txtHorasTrabajadas.getText().length()==0)
{JOptionPane.showMessageDialog(null,"Debe digitar el numero de horas
laboradas");}else
if(txtValordelaHolra.getText().length()==0)
{JOptionPane.showMessageDialog(null,"Debe digitar el valor de la hora");}else{

try{
nhoras= Integer.parseInt(txtHorasTrabajadas.getText());
valorh=Integer.parseInt(txtValordelaHolra.getText());
tdevengado=nhoras*valorh;
salud=tdevengado*0.04;
pension=tdevengado*0.04;
deducidos=salud+pension;
npagar=tdevengado-deducidos;

txtHorasTrabajadas.setText(String.valueOf(nhoras));
txtValordelaHolra.setText(String.valueOf(valorh));
txtTotalDevengado.setText(String.valueOf(tdevengado));
txtDctoSalud.setText(String.valueOf(salud));
txtDctoPencion.setText(String.valueOf(pension));
txtTotalDeducidos.setText(String.valueOf(deducidos));
txtNetoaPagar.setText(String.valueOf(npagar));
}
catch(Exception e){
JOptionPane.showMessageDialog(null,"el numero de horas y valor de la
hora deben ser NUMERICOS");
};
} guardarliquidacion.setEnabled(true);}
});
guardarliquidacion.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent ea) {
if(txtCedula.getText().length()==0)
{JOptionPane.showMessageDialog(null,"Debe digitar el valor de la
cedula");}else
if(txtApellido.getText().length()==0)
{JOptionPane.showMessageDialog(null,"Debe digitar el Apellido");}else
if(txtNombre.getText().length()==0)
{JOptionPane.showMessageDialog(null,"Debe digitar el Nombre");}else
if(txtCargo.getText().length()==0)
{JOptionPane.showMessageDialog(null,"Debe digitar el cargo");}else {

try{
int ced = Integer.parseInt(txtCedula.getText());

String ape = txtApellido.getText();


String nomb = txtNombre.getText();
String car = txtCargo.getText();

String horas = txtHorasTrabajadas.getText();


String valorh = txtValordelaHolra.getText();
String devengado = txtTotalDevengado.getText();
String salud = txtDctoSalud.getText();
String pencion = txtDctoPencion.getText();
String deducidos = txtTotalDeducidos.getText();
String npagar = txtNetoaPagar.getText();

Object nuevaFila[] = {ced, ape, nomb, car, horas, valorh, devengado,


salud, pencion, deducidos, npagar};

modeloTabla.addRow(nuevaFila);

txtCedula.setText("");
txtApellido.setText("");
txtNombre.setText("");
txtCargo.setText("");

txtHorasTrabajadas.setText("");
txtValordelaHolra.setText("");
txtTotalDevengado.setText("");
txtDctoSalud.setText("");
txtDctoPencion.setText("");
txtTotalDeducidos.setText("");
txtNetoaPagar.setText("");
}catch (Exception e) {
JOptionPane.showMessageDialog(null,"Alerta! La Cedula debe
ser de Tipo Numerico");
}
}
}
});
}
}

CLASE MAIN:
package quiz;

/**
* @author FERCHO
*/
public class iniciar {

public static void main(String[] args) {

Quiz tallerTerminado=new Quiz();


}

}
PRUEBAS
INTODUCIR CARACTERES EN EL CAMPO DE CEDULA:
NO DIGITANDO EL NUMERO DE LA CEDULA:

NO DIGITANDO EL APELLIDO

NO DIGITANDO EL NOMBRE
NO DIGITANDO EL CARGO:

NO DIGITANDO EL NÚMERO DE HORAS LABORADAS

NO DIGITANDO EL VALOR DE CADA HORA:


CALCULAR NOMINA DEL EMPLEADO

REPORTE DE NOMINA

También podría gustarte