Java + Swing 007. Modo diseño en NetBeans. Uso básico de Métodos, Eventos, Control de Excepciones, Conversión de tipo de datos y Tabla (jTable).

El ejercicio es similar a la presentada en el número “006”, con la diferencia del agregado de condiciones específicas.
Ejercicio: Para un salario bruto hasta de $1.500, no hay retención. Para un salario bruto de $1500 a $ 3.000 el porcentaje de retención es de 5%. Para un salario bruto mayor de $3000 el porcentaje de retención es 8%. Obtener el nombre del empleado, el salario bruto, el valor de la retención y el salario neto.
Diseño del formulario utilizando JFrame.
Como elementos utilizamos “Etiquetas”, “Botón”, “Tabla” y “Campos de Texto”.
Se puede cambiar el “Nombre de variable” de cada objeto haciendo clic derecho y “Cambiar nombre de variable…”. Se puede usar la que se ajuste al código de más abajo. Los campos de texto para resultados se puede indicar como deshabilitado, desmarcando “enabled” en “Properties o Propiedades” de modo diseño.
Observación: Tomar en cuenta que hay que utilizar las importaciones “import”, básico para utilizar ciertos métodos y objetos. El “setLocationRelativeTo(null)” sirve para centrar el formulario. La declaración “DefaultTableModel model;” nos permite crear una variable de clase para utilizar en cualquier método. Los método llamados en el Constructor se ejecutan al arrancar el formulario, como “setLocationRelativeTo(null)” y “tableModel()”.
Creamos los métodos siguientes en el apartado “Fuente”. Estos métodos utilizan conversiones de tipos de datos, controles de excepciones y demás para controlar lo mejor posible el resultado.
Código Java
public void calcularSalario(){
String nom;
long salarioBruto = 0;
long salarioNeto = 0;
long retencionSalario = 0;
long salHora = 0;
int retencionPorcentaje = 0;
int horaTrab = 0;
try {
nom = this.nombre.getText();
salHora = Long.parseLong(this.salarioHora.getText());
horaTrab = Integer.parseInt(this.horaTrabajada.getText());
salarioBruto = salHora * horaTrab;

if(salarioBruto < 1500){
retencionSalario = 0;
salarioNeto = salarioBruto;
}
else{
if(salarioBruto >= 1500 && salarioBruto < 3000 ){
retencionPorcentaje = 5;
retencionSalario = (salarioBruto * retencionPorcentaje)/100;
salarioNeto = salarioBruto - retencionSalario;
}
else{
retencionPorcentaje = 8;
retencionSalario = (salarioBruto * retencionPorcentaje)/100;
salarioNeto = salarioBruto - retencionSalario;
}
}
this.retencion.setText(String.valueOf(retencionPorcentaje));
model.setNumRows(0);
model.addRow(new Object[]{
nom,salarioBruto,retencionSalario,salarioNeto
});

} catch (Exception e) {
JOptionPane.showMessageDialog(null, "ERROR: Verifique datos ingresados...");
}
}
public void tableModel(){
this.jTable1.getColumnModel().getColumn(0).setPreferredWidth(100);
this.jTable1.getColumnModel().getColumn(1).setPreferredWidth(50);
this.jTable1.getColumnModel().getColumn(2).setPreferredWidth(50);
this.jTable1.getColumnModel().getColumn(3).setPreferredWidth(50);
model = (DefaultTableModel)this.jTable1.getModel();
model.setNumRows(0);
}
public void limpiar(){
tableModel();
this.nombre.setText(null);
this.salarioHora.setText(null);
this.horaTrabajada.setText(null);
this.retencion.setText(null);
}
Utilizamos el evento “ActionPerformed” para llamar los métodos desde los botones en este caso “Calcular” y “Limpiar”. Para utilizar un “Evento” hacemos clic derecho sobre el objeto y seleccionamos “Eventos” de la lista utilizamos la que podamos aplicar al objeto.
Código Java
    private void calcularActionPerformed(java.awt.event.ActionEvent evt) {                                         
calcularSalario();//Método para botón Calcular...
}

private void limpiarActionPerformed(java.awt.event.ActionEvent evt) {
limpiar();//Método para botón Limpiar...
}
En la imagen como queda al ejecutar el JFrame.

No hay comentarios :

Publicar un comentario