0% encontró este documento útil (0 votos)
104 vistas21 páginas

Interfaz de Gestión de Empleados

Este documento describe una interfaz gráfica para mostrar información de empleados. Incluye paneles para mostrar datos, salario, consultas y extensiones. Contiene clases para la interfaz principal, paneles de datos, salario y consultas. Permite inicializar la interfaz con un empleado, actualizar la información, modificar el salario y realizar cálculos como edad y antigüedad del empleado.

Cargado por

Dante Bernedo
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
104 vistas21 páginas

Interfaz de Gestión de Empleados

Este documento describe una interfaz gráfica para mostrar información de empleados. Incluye paneles para mostrar datos, salario, consultas y extensiones. Contiene clases para la interfaz principal, paneles de datos, salario y consultas. Permite inicializar la interfaz con un empleado, actualizar la información, modificar el salario y realizar cálculos como edad y antigüedad del empleado.

Cargado por

Dante Bernedo
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

/** INTERFAZ EMPLEADO**/

/**
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* $Id$
* Universidad de los Andes (Bogot - Colombia)
* Departamento de Ingeniera de Sistemas y Computacin
* Licenciado bajo el esquema Academic Free License version 2.1
*
* Proyecto Cupi2
* Ejercicio: n1_empleado
* Autor: Mario Snchez - 13/06/2005
* Autor: Mario Snchez - 02/2005
* Autor: Pablo Barvo - 22/08/2005
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
*/
package [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
/**
* Esta es la ventana principal de la aplicacin. Contiene a los paneles
que tienen los botones y muestran la informacin del empleado.
*/
public class InterfazEmpleado extends JFrame
{
//----------------------------------------------------------------// Atributos
//----------------------------------------------------------------/**
* El empleado que se est mostrando
*/
private Empleado empleado;
//----------------------------------------------------------------// Atributos de la interfaz
//----------------------------------------------------------------/**
* Es el panel que contiene los elementos para mostrar los datos del
empleado
*/
private PanelDatos panelDatos;
/**

* Es el panel que contiene los elementos para ver y modificar el salario


del empleado
*/
private PanelSalario panelSalario;
/**
* Es el panel que contiene los elementos para realizar consultas sobre el
empleado
*/
private PanelConsultas panelConsultas;
/**
* Es el panel que contiene los elementos para ejecutar las extensiones a
la aplicacin
*/
private PanelExtensiones panelExtensiones;
//----------------------------------------------------------------// Constructores
//----------------------------------------------------------------/**
* Construye una nueva interfaz inicializada con los datos de una empleado
particular. <br>
* <b>post: </b> El objeto InterfazEmpleado est inicializado y empleado
== e.
* @param e Empleado con el que se inicializa la interfaz. e != null.
*/
public InterfazEmpleado( Empleado e )
{
setTitle( "Sistema de Empleados" );
// construir los paneles
JPanel panelCentral = new JPanel( );
panelDatos = new PanelDatos( );
panelSalario = new PanelSalario( this );
panelConsultas = new PanelConsultas( );
panelExtensiones = new PanelExtensiones( this );
// organizar el
getContentPane(
getContentPane(
getContentPane(
getContentPane(

panel principal
).setLayout( new BorderLayout( ) );
).add( panelDatos, [Link] );
).add( panelCentral, [Link] );
).add( panelExtensiones, [Link] );

// organizar el panel central


[Link]( new BorderLayout( ) );
[Link]( panelSalario, [Link] );
[Link]( panelConsultas, [Link] );
setSize( 530, 530 );
setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );

empleado = e;
[Link]( e );
}
//----------------------------------------------------------------// Mtodos
//----------------------------------------------------------------/**
* Este mtodo sirve para actualizar los campos de la forma con los datos
actuales del empleado. <br>
* <b>post: </b>Los campos de la ventana contienen la informacin del
empleado. <br>
*/
public void actualizarEmpleado( )
{
String nombre, apellido, sexo, fechaI, fechaN, imagen;
int salario;
nombre = [Link]( );
apellido = [Link]( );
int iSexo = [Link]( );
if( iSexo == 1 )
sexo = "m";
else
sexo = "f";
fechaI = [Link]( );
fechaN = [Link]( );
salario = [Link]( );
imagen = [Link]( );
[Link]( nombre, apellido, sexo, fechaI, fechaN,
imagen );
[Link]( salario );
[Link]( );
validate( );
}
/**
* En este mtodo se solicita al usuario que ingrese el nuevo salario del
empleado y se actualiza su informacin. <br>
* <b>post: </b> Se actualiz el salario del empleado y se present la
informacin actualizada. <br>
*/
public void modificarSalario( )
{
String strSalario = [Link]( this, "Introduzca el
nuevo salario" );
if( strSalario != null )

{
try
{
int nuevoSalario = [Link]( strSalario );
[Link]( nuevoSalario );
[Link]( [Link]( ) );
}
catch( NumberFormatException nfe )
{
[Link]( this, "El salario indicado no es vlido."
);
}
}
}
//----------------------------------------------------------------// Puntos de Extensin
//----------------------------------------------------------------/**
* Mtodo 1 de extensin del ejemplo
*/
public void reqFuncOpcion1( )
{
String respuesta = empleado.metodo1( );
[Link]( this, respuesta, "Respuesta",
JOptionPane.INFORMATION_MESSAGE );
}
/**
* Mtodo 2 de extensin del ejemplo
*/
public void reqFuncOpcion2( )
{
String respuesta = empleado.metodo2( );
[Link]( this, respuesta, "Respuesta",
JOptionPane.INFORMATION_MESSAGE );
}
//----------------------------------------------------------------// Main
//----------------------------------------------------------------/**
* Este mtodo ejecuta la aplicacin, creando una nueva interfaz e
inicializndola con un empleado.
* @param args Los argumentos no son utilizados.
*/
public static void main( String[] args )
{
Fecha fechaNacimiento = new Fecha( );
[Link]( 16, 6, 1982 );

Fecha fechaIngreso = new Fecha( );


[Link]( 5, 4, 2000 );
Empleado e = new Empleado( );
[Link]( "Pedro", "Matallana", 1, fechaNacimiento, fechaIngreso,
1500000 );
[Link]( "data/[Link]" );
InterfazEmpleado femp = new InterfazEmpleado( e );
[Link]( );
[Link]( true );
}
}

//**PANEL CONSULTA**//

/**~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* $Id$
* Universidad de los Andes (Bogot - Colombia)
* Departamento de Ingeniera de Sistemas y Computacin
* Licenciado bajo el esquema Academic Free License version 2.1
*
* Proyecto Cupi2 ([Link]
* Ejercicio: n1_empleado
* Autor: Mario Snchez - Jun 13, 2005
* Autor: Mario Snchez - Jun 13, 2005
* Autor: Pablo Barvo - 22/08/2005
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
*/
package [Link];
import
import
import
import
import
import
import
import
import
import
import
import
import

[Link];
[Link];
[Link];
[Link];
[Link];
[Link];
[Link];
[Link];
[Link];
[Link];
[Link];
[Link];
[Link];

import [Link];
/**
* En este panel se muestran los campos y botones necesarios para realizar
las consultas
*/
public class PanelConsultas extends JPanel implements ActionListener
{
//----------------------------------------------------------------// Constantes
//----------------------------------------------------------------/**
* El comando para el botn de calcular la edad del empleado
*/
private final static String CALCULAR_EDAD = "CALCULAR EDAD";
/**
* El comando para el botn de calcular la antigedad del empleado

*/
private final static String CALCULAR_ANTIGUEDAD = "CALCULAR ANTIGUEDAD";
/**
* El comando para el botn de calcular las prestaciones del empleado
*/
private final static String CALCULAR_PRESTACIONES = "CALCULAR
PRESTACIONES";
//----------------------------------------------------------------// Atributos
//----------------------------------------------------------------/**
* El empleado sobre el que se realizan los clculos
*/
private Empleado empleado;
//----------------------------------------------------------------// Atributos de la interfaz
//----------------------------------------------------------------/**
* El campo donde se muestra la edad
*/
private JTextField txtEdad;
/**
* El campo donde se muestra la antigedad
*/
private JTextField txtAntiguedad;
/**
* El campo donde se muestran las prestaciones
*/
private JTextField txtPrestaciones;
/**
* El botn para calcular la edad
*/
private JButton butEdad;
/**
* El botn para calcular la antigedad
*/
private JButton butAntiguedad;
/**
* El botn para calcular las prestaciones
*/
private JButton butPrestaciones;
//-----------------------------------------------------------------

// Constructores
//----------------------------------------------------------------/**
* Construye el panel de datos a consultar.
*/
public PanelConsultas( )
{
GridBagLayout gridbag = new GridBagLayout( );
setLayout( gridbag );
setBorder( new CompoundBorder( new EmptyBorder( 0, 0, 5, 0 ), new
TitledBorder( "Clculos" ) ) );
butEdad = new JButton( );
GridBagConstraints gbc = new GridBagConstraints( 0, 0, 1, 1, 0, 0,
[Link], [Link], new Insets( 5, 5, 5,
5 ), 0, 0 );
add( butEdad, gbc );
butAntiguedad = new JButton( );
gbc = new GridBagConstraints( 0, 1, 1, 1, 0, 0,
[Link], [Link], new Insets( 5, 5, 5,
5 ), 0, 0 );
add( butAntiguedad, gbc );
butPrestaciones = new JButton( );
gbc = new GridBagConstraints( 0, 2, 1, 1, 0, 0,
[Link], [Link], new Insets( 5, 5, 5,
5 ), 0, 0 );
add( butPrestaciones, gbc );
txtEdad = new JTextField( 10 );
gbc = new GridBagConstraints( 1, 0, 1, 1, 0, 0, [Link],
[Link], new Insets( 5, 5, 5, 5 ), 0, 0 );
add( txtEdad, gbc );
[Link]( false );
txtAntiguedad = new JTextField( 10 );
gbc = new GridBagConstraints( 1, 1, 1, 1, 0, 0, [Link],
[Link], new Insets( 5, 5, 5, 5 ), 0, 0 );
add( txtAntiguedad, gbc );
[Link]( false );
txtPrestaciones = new JTextField( 10 );
gbc = new GridBagConstraints( 1, 2, 1, 1, 0, 0, [Link],
[Link], new Insets( 5, 5, 5, 5 ), 0, 0 );
add( txtPrestaciones, gbc );
[Link]( false );
[Link]( "Calcular Edad" );
[Link]( PanelConsultas.CALCULAR_EDAD );
[Link]( this );

[Link]( "Calcular Antigedad" );


[Link]( PanelConsultas.CALCULAR_ANTIGUEDAD );
[Link]( this );
[Link]( "Calcular Prestaciones" );
[Link]( PanelConsultas.CALCULAR_PRESTACIONES );
[Link]( this );
}
//----------------------------------------------------------------// Mtodos
//----------------------------------------------------------------/**
* Modifica el empleado que se utiliza para realizar los clculos. <br>
* <b>post: </b> empleado == unEmpleado. <br>
* @param unEmpleado Nuevo empleado que se usar para los clculos.
unEmpleado != null.
*/
public void cambiarEmpleado( Empleado unEmpleado )
{
empleado = unEmpleado;
}
/**
* Limpia los campos. <br>
* <b>post: </b> Todos los campos del panel estn limpios. <br>
*/
public void limpiarCampos( )
{
[Link]( "" );
[Link]( "" );
[Link]( "" );
}
/**
* Este mtodo se llama cuando se presiona uno de los botones. <br>
* <b>post: </b> Se ejecut la accin correspondiente al botn presionado.
<br>
* @param evento El evento del click en el botn. evento != null.
*/
public void actionPerformed( ActionEvent evento )
{
String command = [Link]( );
if( [Link]( CALCULAR_EDAD ) )
{
int edad = [Link]( );
[Link]( "" + edad );
}
else if( [Link]( CALCULAR_ANTIGUEDAD ) )
{
int antiguedad = [Link]( );

[Link]( "" + antiguedad );


}
else if( [Link]( CALCULAR_PRESTACIONES ) )
{
double prestaciones = [Link]( );
DecimalFormat df = ( DecimalFormat )[Link]( );
[Link]( "$###,###.##" );
[Link]( [Link]( prestaciones ) );
}
}
}

//** PANEL DE DATOS**//

/**~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* $Id$
* Universidad de los Andes (Bogot - Colombia)
* Departamento de Ingeniera de Sistemas y Computacin
* Licenciado bajo el esquema Academic Free License version 2.1
*
* Proyecto Cupi2 ([Link]
* Ejercicio: n1_empleado
* Autor: Mario Snchez - Jun 13, 2005
* Autor: Mario Snchez - Jun 13, 2005
* Autor: Pablo Barvo - 22/08/2005
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
*/
package [Link];
import
import
import
import
import
import

[Link];
[Link];
[Link];
[Link];
[Link];
[Link];

import
import
import
import
import
import
import
import

[Link];
[Link];
[Link];
[Link];
[Link];
[Link];
[Link];
[Link];

/**
* En este panel se muestran los datos del empleado
*/
public class PanelDatos extends JPanel
{
//----------------------------------------------------------------// Atributos de la Interfaz
//----------------------------------------------------------------/**
* Etiqueta del nombre
*/
private JLabel labNombre;
/**
* Etiqueta del apellido
*/

private JLabel labApellido;


/**
* Etiqueta de la fecha de ingreso
*/
private JLabel labFIngreso;
/**
* Etiqueta de la fecha de nacimiento
*/
private JLabel labFNacimiento;
/**
* Etiqueta del sexo
*/
private JLabel labSexo;
/**
* Campo de texto para el nombre
*/
private JTextField txtNombre;
/**
* Campo de texto para el apellido
*/
private JTextField txtApellido;
/**
* Campo de texto para la fecha de Ingreso
*/
private JTextField txtFIngreso;
/**
* Campo de texto para la fecha de nacimiento
*/
private JTextField txtFNacimiento;
/**
* Campo de texto para el sexo
*/
private JTextField txtSexo;
/**
* Etiqueta donde se muestra la imagen
*/
private JLabel labImagen;
//----------------------------------------------------------------// Constructores
//----------------------------------------------------------------/**
* Construye el de Datos del empleado.

*/
public PanelDatos( )
{
GridBagLayout gridbag = new GridBagLayout( );
setLayout( gridbag );
setBorder( new CompoundBorder( new EmptyBorder( 0, 0, 5, 0 ), new
TitledBorder( "Datos Personales" ) ) );
GridBagConstraints gbc;
labNombre = new JLabel( "Nombre: " );
gbc = new GridBagConstraints( 0, 0, 1, 1, 0, 0, [Link],
[Link], new Insets( 5, 5, 5, 5 ), 0, 0 );
add( labNombre, gbc );
labApellido = new JLabel( "Apellido: " );
gbc = new GridBagConstraints( 0, 1, 1, 1, 0, 0, [Link],
[Link], new Insets( 5, 5, 5, 5 ), 0, 0 );
add( labApellido, gbc );
labSexo = new JLabel( "Sexo: " );
gbc = new GridBagConstraints( 0, 2, 1, 1, 0, 0, [Link],
[Link], new Insets( 5, 5, 5, 5 ), 0, 0 );
add( labSexo, gbc );
labFNacimiento = new JLabel( "Fecha de Nacimiento: " );
gbc = new GridBagConstraints( 0, 3, 1, 1, 0, 0, [Link],
[Link], new Insets( 5, 5, 5, 5 ), 0, 0 );
add( labFNacimiento, gbc );
labFIngreso = new JLabel( "Fecha de Ingreso: " );
gbc = new GridBagConstraints( 0, 4, 1, 1, 0, 0, [Link],
[Link], new Insets( 5, 5, 5, 5 ), 0, 0 );
add( labFIngreso, gbc );
txtNombre = new JTextField( 15 );
gbc = new GridBagConstraints( 1, 0, 1, 1, 0, 0, [Link],
[Link], new Insets( 5, 5, 5, 5 ), 0, 0 );
add( txtNombre, gbc );
[Link]( false );
txtApellido = new JTextField( 15 );
gbc = new GridBagConstraints( 1, 1, 1, 1, 0, 0, [Link],
[Link], new Insets( 5, 5, 5, 5 ), 0, 0 );
add( txtApellido, gbc );
[Link]( false );
txtSexo = new JTextField( 2 );
gbc = new GridBagConstraints( 1, 2, 1, 1, 0, 0, [Link],
[Link], new Insets( 5, 5, 5, 5 ), 0, 0 );
add( txtSexo, gbc );
[Link]( false );

txtFNacimiento = new JTextField( 10 );


gbc = new GridBagConstraints( 1, 3, 1, 1, 0, 0, [Link],
[Link], new Insets( 5, 5, 5, 5 ), 0, 0 );
add( txtFNacimiento, gbc );
[Link]( false );
txtFIngreso = new JTextField( 10 );
gbc = new GridBagConstraints( 1, 4, 1, 1, 0, 0, [Link],
[Link], new Insets( 5, 5, 5, 5 ), 0, 0 );
add( txtFIngreso, gbc );
[Link]( false );
labImagen = new JLabel( );
gbc = new GridBagConstraints( 2, 0, 1, 5, 1, 1,
[Link], [Link], new Insets( 5, 5, 5,
5 ), 0, 0 );
add( labImagen, gbc );
}
//----------------------------------------------------------------// Mtodos
//----------------------------------------------------------------/**
* Actualiza los campos del panel con la informacin del empleado. <br>
* <b>post: </b>Los campos muestran la nueva informacin. <br>
* @param nombre Nombre. nombre != null.
* @param apellido Apellido. apellido != null.
* @param sexo Sexo del empleado. sexo pertenece a {"m","f"}.
* @param fechaI Fecha de Ingreso. fechaI != null.
* @param fechaN Fecha de Nacimiento. fechaN != null.
* @param imagen Ruta donde se encuentra la imagen. imagen != null.
*/
public void actualizarCampos( String nombre, String apellido, String
sexo, String fechaI, String fechaN, String imagen )
{
[Link]( nombre );
[Link]( apellido );
[Link]( sexo );
[Link]( fechaI );
[Link]( fechaN );
try
{
remove( labImagen );
labImagen = new JLabel( new ImageIcon( cargarImagen( imagen ) ) );
GridBagConstraints gbc = new GridBagConstraints( 2, 0, 1, 5, 0, 0,
[Link], [Link], new Insets( 5, 5, 5,
5 ), 0, 0 );
add( labImagen, gbc );
}
catch( IOException e )
{

[Link]( this, "La imagen no se pudo cargar: " +


[Link]( ) );
[Link]( );
}
}
/**
* Este mtodo se usa para cargar la informacin de la imagen. Si no se
leen los bytes de la imagen, entonces se depende del MediaTracker.
* @param imagen Ruta donde se encuentra la imagen. imagen!=null y imagen
corresponde a la ruta de una imagen.
* @return Retorna la imagen.
* @throws IOException Se lanza esta excepcin si no se puede leer la
imagen.
*/
private byte[] cargarImagen( String imagen ) throws IOException
{
ByteArrayOutputStream baos = new ByteArrayOutputStream( );
FileInputStream fin = new FileInputStream( imagen );
int data = 0;
while( data != -1 )
{
data = [Link]( );
[Link]( data );
}
return [Link]( );
}
}

//**PANEL EXTENSIONES**//

/**~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* $Id$
* Universidad de los Andes (Bogot - Colombia)
* Departamento de Ingeniera de Sistemas y Computacin
* Licenciado bajo el esquema Academic Free License version 2.1
*
* Proyecto Cupi2 ([Link]
* Ejercicio: n1_empleado
* Autor: Mario Snchez - 14/06/2005
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
*/
package [Link];
import
import
import
import
import
import
import
import

[Link];
[Link];
[Link];
[Link];
[Link];
[Link];
[Link];
[Link];

/**
* Es el panel para las extensiones del ejemplo
*/
public class PanelExtensiones extends JPanel implements ActionListener
{
//----------------------------------------------------------------// Constantes
//----------------------------------------------------------------/**
* El comando para el botn 1
*/
private final String OPCION_1 = "opcion1";
/**
* El comando para el botn 2
*/
private final String OPCION_2 = "opcion2";
//----------------------------------------------------------------// Atributos
//----------------------------------------------------------------/**
* Es la referencia a la interfaz de la aplicacin
*/
private InterfazEmpleado interfazEmpleado;

//----------------------------------------------------------------// Atributos de la Interfaz


//----------------------------------------------------------------/**
* Es el botn 1
*/
private JButton butOpcion1;
/**
* Es el botn 2
*/
private JButton butOpcion2;
//----------------------------------------------------------------// Constructores
//----------------------------------------------------------------/**
* Construye el panel de extensiones con una referencia a la ventana
principal de la aplicacin. <br>
* <b>post: </b> Construy el panel e interfazEmpleado == interfaz. <br>
* @param interfaz Referencia a la ventana principal. interfaz != null.
*/
public PanelExtensiones( InterfazEmpleado interfaz )
{
interfazEmpleado = interfaz;
setBorder( new CompoundBorder( new EmptyBorder( 0, 0, 5, 0 ), new
TitledBorder( "Puntos de Extensin" ) ) );
setLayout( new FlowLayout( ) );
butOpcion1 = new JButton( "Opcin 1" );
[Link]( OPCION_1 );
[Link]( this );
butOpcion2 = new JButton( "Opcin 2" );
[Link]( OPCION_2 );
[Link]( this );
add( butOpcion1 );
add( butOpcion2 );
}
//----------------------------------------------------------------// Mtodos
//----------------------------------------------------------------/**
* Este mtodo se llama cuando se presiona uno de los botones. <br>
* <b>post: </b> Se ejecut la accin correspondiente al botn presionado.
<br>

* @param evento El evento del click en el botn. evento != null.


*/
public void actionPerformed( ActionEvent evento )
{
String comando = [Link]( );
if( OPCION_1.equals( comando ) )
{
interfazEmpleado.reqFuncOpcion1( );
}
else if( OPCION_2.equals( comando ) )
{
interfazEmpleado.reqFuncOpcion2( );
}
}
}

//**PANEL SALARIO**//

/**~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* $Id$
* Universidad de los Andes (Bogot - Colombia)
* Departamento de Ingeniera de Sistemas y Computacin
* Licenciado bajo el esquema Academic Free License version 2.1
*
* Proyecto Cupi2 ([Link]
* Ejercicio: n1_empleado
* Autor: Mario Snchez - Jun 13, 2005
* Autor: Mario Snchez - Jun 13, 2005
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
*/
package [Link];
import
import
import
import
import

[Link];
[Link];
[Link];
[Link];
[Link];

import
import
import
import
import
import
import

[Link];
[Link];
[Link];
[Link];
[Link];
[Link];
[Link];

/**
* Es el panel en el que se muestra y se modifica el salario del empleado
*/
public class PanelSalario extends JPanel implements ActionListener
{
//----------------------------------------------------------------// Constantes
//----------------------------------------------------------------/**
* Es el comando para el botn de modificar el salario
*/
private final static String BUT_MODIFICAR_SALARIO = "MODIFICAR SALARIO";
//----------------------------------------------------------------// Atributos
//----------------------------------------------------------------/**
* Es una referencia a la interfaz de la aplicacin
*/

private InterfazEmpleado interfazEmpleado;


//----------------------------------------------------------------// Atributos de la Interfaz
//----------------------------------------------------------------/**
* Etiqueta para el salario
*/
private JLabel labSalario;
/**
* Es el campo de texto para el salario
*/
private JTextField txtSalario;
/**
* Es el botn para modificar el salario
*/
private JButton botonModificarSalario;
//----------------------------------------------------------------// Constructores
//----------------------------------------------------------------/**
* Construye el panel con una referencia a la ventana principal de la
aplicacin <br>
* <b>post: </b> Construy el panel e interfazEmpleado == interfaz. <br>
* @param interfaz - Referencia a la ventana principal. interfaz != null.
*/
public PanelSalario( InterfazEmpleado interfaz )
{
interfazEmpleado = interfaz;
setLayout( new FlowLayout( ) );
labSalario = new JLabel( "Salario: " );
add( labSalario );
txtSalario = new JTextField( 10 );
add( txtSalario );
botonModificarSalario = new JButton( );
[Link]( "Modificar" );
[Link]( PanelSalario.BUT_MODIFICAR_SALARI
O );
[Link]( this );
add( botonModificarSalario );
setBorder( new CompoundBorder( new EmptyBorder( 0, 0, 5, 0 ), new
TitledBorder( "Salario" ) ) );

[Link]( false );
}
//----------------------------------------------------------------// Mtodos
//----------------------------------------------------------------/**
* Este mtodo se llama cuando se presiona uno de los botones. <br>
* <b>post: </b> Se ejecut la accin correspondiente al botn presionado.
<br>
* @param evento El evento del click en el botn. evento != null.
*/
public void actionPerformed( ActionEvent evento )
{
String command = [Link]( );
if( [Link]( BUT_MODIFICAR_SALARIO ) )
{
[Link]( );
}
}
/**
* Actualiza el salario que se muestra. <br>
* <b>post: </b> Se cambi el salario mostrado. <br>
* @param salario.
*/
public void actualizarSalario( int salario )
{
DecimalFormat df = ( DecimalFormat )[Link]( );
[Link]( "$###,###.##" );
[Link]( [Link]( salario ) );
}
}

También podría gustarte