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

Ejercicio: Leer el nombre de un empleado, su salario básico por hora y el número de horas trabajadas en el mes. Calcular su salario mensual e imprimir tanto el nombre como su salario mensual. Para mostrar los datos utilizaremos una tabla.
Diseño del formulario utilizando JFrame.
Como elementos utilizamos “Etiquetas”, “Botón” 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ña.
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.
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 calcularSalarioMes(){
tableModel();//Se puede llamar aquí o después del método initComponents()
String nom = null;
long salBasico = 0;
int horaTrab = 0;
long salMes = 0;
try {
salBasico = Long.parseLong(this.salarioHora.getText());
horaTrab = Integer.parseInt(this.horaTrabajada.getText());
nom = this.nombre.getText();
} catch (Exception e) {
JOptionPane.showMessageDialog(null, "Se esperan datos numéricos...");
}
if(salBasico == 0 || horaTrab == 0 || nom == null){
JOptionPane.showMessageDialog(null, "No hay datos para mostrar");
}
else{
salMes = salBasico * horaTrab;
this.salarioMes.setText(String.valueOf(salMes));
//Utilizamos el metodo addRow del DefaultTableModel
model.addRow(new Object[]{
nom,salMes
});
}
}
public void tableModel(){
this.jTable1.getColumnModel().getColumn(0).setPreferredWidth(200);
this.jTable1.getColumnModel().getColumn(1).setPreferredWidth(60);
model = (DefaultTableModel)this.jTable1.getModel();
model.setNumRows(0);
}
public void limpiar(){
this.tableModel();
this.nombre.setText(null);
this.salarioHora.setText(null);
this.salarioMes.setText(null);
this.horaTrabajada.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) {
this.calcularSalarioMes();
}

private void limpiarActionPerformed(java.awt.event.ActionEvent evt) {
this.limpiar();
}
En la imagen como queda al ejecutar el JFrame.

No hay comentarios :

Publicar un comentario