I have two classes one contains a linked list Catedraticos
and another one containing a Jframe
in which I want to put a Jlist
, the listaCatedraticos
contains the information of your name, surname and email as I can use all the names that are inside the list linked in Jlist
.
This is the code of the data that goes into the list
package ListaCatedraticos;
public class DatoCatedratico {
//registroPersonal,nombres,apellidos,correoElectronico
private String registroPersonal;
private String nombre;
private String apellido;
private String correo;
public DatoCatedratico(String registroPersonal,String nombre,String apellido,String correo){
this.registroPersonal = registroPersonal;
this.nombre = nombre;
this.apellido = apellido;
this.correo = correo;
}
/**
* @return the registroPersonal
*/
public String getRegistroPersonal() {
return registroPersonal;
}
/**
* @param registroPersonal the registroPersonal to set
*/
public void setRegistroPersonal(String registroPersonal) {
this.registroPersonal = registroPersonal;
}
/**
* @return the nombre
*/
public String getNombre() {
return nombre;
}
/**
* @param nombre the nombre to set
*/
public void setNombre(String nombre) {
this.nombre = nombre;
}
/**
* @return the apellido
*/
public String getApellido() {
return apellido;
}
/**
* @param apellido the apellido to set
*/
public void setApellido(String apellido) {
this.apellido = apellido;
}
/**
* @return the correo
*/
public String getCorreo() {
return correo;
}
/**
* @param correo the correo to set
*/
public void setCorreo(String correo) {
this.correo = correo;
}
//metodo que devulve la informacion de la lista ordenada
@Override
public String toString() {
return "****************************************************************\n"
+ "Registro : " + registroPersonal + "\n"
+ "Nombre : " + nombre +"\n"
+ "Apellido : " +apellido+"\n"
+"Correo : " +correo+"\n"
+ "****************************************************************\n";
}
}
este es es el codigo de la lista que quiero utilizar y el unico dato que deseo ingresar a una Jlist es el nombre y apellido de los catedraticos que estan detro de la lista
package ListaCatedraticos;
import java.io.DataOutputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import javax.swing.DefaultListModel;
import javax.swing.JList;
import javax.swing.ListSelectionModel;
public class ListaDobleCatedratico {
public Nodo primero;//primer nodo en la lista
public Nodo ultimo;//ultimo nodo en la lista
FileOutputStream fos = null;
DataOutputStream salida = null;
public static JList listaNombres;/*declaramos La Lista*/
public DefaultListModel modelo;/*declaramos el Modelo*/
public void ingresarNodo(DatoCatedratico dato) {
Nodo nuevo = new Nodo();//crea un nuevo nodo para agregar a la lista
nuevo.dato = dato;//el dato ingresado ingresa al nodo nuevo
if (primero == null) {//si el primer nodo esta vacio
primero = nuevo;//primero sera igual a un nuevo nodo
primero.siguiente = null;//siguiente apunta a null
primero.anterior = null;//anterior apunta a nulls
ultimo = primero;//ultimo tiene el mismo valor que primero
} else//si el primer nodo tiene un valor que no sea null
{
ultimo.siguiente = nuevo;//siguiente apunta a nuevo
nuevo.anterior = ultimo;//anterior apunta al ultimo nodo
nuevo.siguiente = null;//siguiente apunta al null
ultimo = nuevo;// ultimo tiene el valor de nuevo
}
}
public String verLista() {
String a = "";
Nodo actual;//nodo que permite recorrer la lista
actual = primero;//actual se posiciona en el primer nodo de la lista
//instanciamos la lista
listaNombres = new JList();
listaNombres.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
//instanciamos el modelo
modelo = new DefaultListModel();
while (actual != null) {//mietras actual es distinto de null
a = a + actual.dato + "\n";//imprimir el nodo de la lista
System.out.println(actual.dato.getNombre());
actual = actual.siguiente;//actualiza el nodo de la lista al anterior
modelo.addElement(actual.dato.getNombre());
listaNombres.setModel(modelo);
}
return a;
}
public void eliminar(String registro) {
Nodo actual = new Nodo();//nodo que recorre la lista
Nodo atras = new Nodo();//nodo que enlaza con el nodo anterior
actual = primero;//posiciona el nodo actual al principio de la lista
atras = null;//incializa el nodo atras en null
while (actual != null) {//mientras actual es distinto de null
if (actual.dato.getRegistroPersonal().equals(registro)) {//si el dato de actual es igual al dato que se ingresa
if (actual == primero) {//si actual es igual al primer dato de la lista
if (actual.siguiente == null && actual.anterior == null) {
primero = null;
System.out.println("La Lista quedo vacia");
System.out.println("");
} else {
primero = primero.siguiente;//primero es igual al nodo siguiente
primero.anterior = null;//enlaza anterior a null
}
} else if (actual == ultimo) {
ultimo = ultimo.anterior;
ultimo.siguiente = null;
} else {
atras.siguiente = actual.siguiente;//atras se enlaza al nodo actual
actual.siguiente.anterior = actual.anterior;//anterior se enlaza al nodo siugiente
}
}
atras = actual;//atras tiene el valor de actual
actual = actual.siguiente;//actualiza la lista
}
}