Está en la página 1de 12

Ahora váyase al editor de código y genere el siguiente código faltante:

package listas_dobles;

import java.text.DecimalFormat;

import java.awt.Font;

import javax.swing.JOptionPane;

import javax.swing.table.DefaultTableModel;

public class Listas_dobles extends javax.swing.JFrame {

//declaracion de la Lista doblemente enlazada

public class Nodo{

String codigo;

String nombre;

String apellidos;

String sexo;

float sueldo;

Nodo sig;

Nodo ant;

public Nodo(String cod, String nom,String ape,String sex,float suel)

{ codigo=cod;

nombre=nom;

apellidos=ape;

sexo=sex;

sueldo=suel;

sig=ant=null;

//Declaracion del formato de la tabla

DefaultTableModel miModelo;

String[] cabecera={ “N°” , ”Codigo”, ”Nombres”, “Apellidos”, “Sexo” , “Sueldo”};

String [] [] data={}.

//Declaracion de variables locales

public Nodo ini,fin;


public Nodo pFound;

int num=0;

public listas_dobles(){

initComponents();

//Inicializando los punteros

ini=fin=pFound=null;

// Habilitando los encabezados de la tabla

miModelo=new DefaultTableModel(data,cabecera);

tblRegistros.setModel(miModelo);

@SuppressWarnings(“unchecked”)
Instrucciones de los métodos utilizados en el aplicativo

void VerDATOS( int ind)

{ //Variable para recorrer la lista

String cod, mom, ape, se, su;

Float s;

Switch (ind)

{ case 1: // Recorrido hacia adelante

{ vaciar_tabla() ;

Nodo aux=ini;

num=0;

while(aux !=null)

{ cod=aux.codigo;

nom=aux.nombre;

ape=aux.apellidos;

se=aux.sexo;

//dando Formato al sueldo

DecimalFormat df2 = new DecimalFormat(“####.00”) ;

su = df2.format (aux.sueldo) ;

num++;;

Object[] fila={num,cod,nom,ape,se,su} ;

miModelo.addRow(fila);

aux=aux.sig;

} break;

Case 2: // Recorrido hacia atras

{ vaciar_tabla();

Nodo aux=fin;

Num=0;

While(aux!=null)

{ cod=aux.codigo;

Nom=aux.nombre;
ape=aux.apellidos;

se=aux.sexo;

//dando Formato al sueldo

DecimalFormat df2 = new DecimalFormat(“####.00”) ;

su = df2.format(aux.sueldo) ;

num++;

Object[] fila={num,cod,nom,ape,se,su} ;

miModelo.addRow(fila) ;

aux=aux.ant;

}break;

void vaciar_tabla()

{ //Obteniendo el numero de filas de la tabla

int filas=tblRegistros.getRowCount();

for(int i=0;i<filas;i++)

miModelo.removeRow(0) ;

void Resumen ()

{ Nodo aux=ini;

String nom=””, acum””;

float suma=0,mayor=-9999;

float s;

// Recorriendo la lista

while (aux!=null)

{ s=aux.sueldo;

if(s>mayor)

{ mayor=s;

Nom=aux.nombre+” “+aux.apellidos;

}
suma=suma+s;

aux=aux.sig;

//Colocando la Informacion en los obejtos

txtNomMay.setText (nom);

// Dandole formato al acumulado

DecimalFormat df2 = new DecimalFormat(“####.00”);

acum = df2.format (suma) ;

txtAcumulado.setText(acum) ;

void Habilitar ()

{ btnActualizar.setEnabled(true) ;

btnEliminar.setEnabled(true) ;

btnGuardar.setEnabled(false) ;

void Deshabilitar()

{ btnActualizar.setEnabled(false) ;

btnEliminar.setEnabled(false) ;

btnGuardar.setEnabled(true) ;

void LimpiarEntradas()

{ txtCodigo.setText(“”) ;

txtNombre.setText(“”) ;

txtSueldo.setText(“”) ;

txtApellidos.setText(“”) ;

cbxSexo.setSelectedIndex(0) ;

txtCodigo.requestFocus() ;

}
Instrucciones en los metodos para las operaciones de la lista enlazada

Nodo Buscar (Nodo inicio,String cod)

{ Nodo pos=inicio;

//Recorriendo la lista para encontrar la información

While(pos!=null && !cod.equalsIgnoreCase (pos.codigo) )

pos=pos.sig;

return pos;

Nodo InsertaFinal(Nodo inicio,String cod,String nom,String ape,String sex,float suel)

{ Nodo nuevo=new Nodo(cod,nom,ape,sex,suel) ;

//Realizando los enlaces correspondientes

nuevo.sig=inicio;

if (inicio==null)

{ fin=nuevo;

fin.sig=null;

if(inicio!=null)

inicio.ant=nuevo;

inicio=nuevo;

void Eliminar ()

{Nodo actual;

boolean encontrado=false;

actual=ini;

while( (actual ! =null)&& (!encontrado) ) //bucle de Busqueda

{ encontrado=actual.codigo.equalsIgnoreCase(txtCodigo.getText(). Trim() );

If( !encontrado)

Actual=actual.sig;

//Realizando los enlances

if (actual !=null)
{ if (actual == ini)

{ ini = actual.sig; // borrar el primero

if(actual.sig!=null)

actual.sig.ant=null;

else if (actual.sig!=null) // No es el ultimo

{ actual.ant.sig=sig=actual.sig;

actual.sig.ant=actual.ant;

else

{ actual.ant.sig=null; // el ultimo

fin=actual.ant; // movimiento el final

actual=null;

}
Instruccciones del boto guardar

private void btnGuardarActionPerformed(java.awt.event.ActionEvent evt) {

//Capturando la informacion de los objetos

String cod=txtCodigo.getText () ;

String nom=txtNombre.getText() .toUpperCase() ;

String ape=txtApéllidos.getText() .toUpperCase() ; ;

String sex=cbxSexo.getSelectedItem() .ToString() ;

String suel=txtSueldo.getText() ;

//Creando el nodo de la Lista en memoria y colocando la informacion

ini=InsertaFinal(ini,cod,nom,ape,sex,Float.parseFloat(suel) ) ;

LimpiarEntradas() ;

VerDatos(1);

Resumen();

}
Instrucciones del boton Actualizar

private void btnActualizarActionPerformed(java.awt.event.ActionEvent evt) {

//colocando la informacion en el puntero pFound

pFound.codigo=txtCodigo.getText() ;

pFound.nombre=txtNombre.getText() .toUpperCase() ;

pFound.apellidos=txtApellidos.getText () . toUpperCase() ;

pFound.sexo=cbxSexo.getSelectedItem() . toString() ;

pFound.sueldo=Float.parseFloat(txtSueldo.getText() ) ;

LimpiarEntradas() ;

Deshabilitar() ;

VerDatos(1);

Resumen() ;

}
Instrucciones del boton consultar

private void btnConsultarActionPerformed(java.awt.event.ActionEvent evt) {

String cod= txtCodigo.getText() ;

If(cod.equalsIgnoreCase(“”) ) {

JOptionPane.showMessageDialog(this,”Ingrese un codigo por favor”) ;

} else {

//Llamada ala función que retorna la posición del dato buscado

pFound=Buscar (ini,cod);

//Verificando el puntero pFound para mostar la inf. Buscada

If(pFound!=null) {

txtNombre.setText(pFound.nombre) ;

txtApellidos.SetText (pFound.apellidos) ;

if (pFound.sexo.equalsIgnoreCase(“MASCULINO”) )

cbxSexo.setSelectedIndex(2) ;

else

cbxSexo.setSelectedIndex(1) ;

txtSueldo.setText(String.valueOf(pFound.sueldo) ) ;

//Habilitamos los objetos para eliminar y actualizar

Habilitar();

} else {

JOptionPane.showMessageDialog(this, “El codigo: “+cod + “, no estará en la Lista. .”) ;

}
Instrucciones del botón eliminar

private void btnEliminarActionPerformed(java.awt.event.ActionEvent evt) {

Eliminar() ;

LimpiarEntradas ();

VerDatos(1) ;

if(ini==null)

JOptionPane.showMessageDialog(this,”La lista esta vacia”) ;

Deshabilitar () ;

Resumen() ;

Instrucciones del botón restaurar

private void btnReestaurarActionPerformed(java.awt.event.ActionEvent evt) {

LimpiarEntradas() ;

Deshabilitar() ;

Isntrucciones del Adelante- atras

private void btnAd_AtActionPerformed(java.awt.event.ActionEvent evt) {

VerDatos(1);

Instruccionees de atras – Adelante

private void btnAt_AdActionPerformed(java.awt.event.ActionEvent evt) {

VerDatos(2) ;

Instrucciones del evento opened del window

private void formWindowOpened(java.awt.event.ActionEvent evt) {

Deshabilitar() ;

También podría gustarte