Sistema en Java de Registro de Vehiculos

Hola acá les traigo un sistema que hice el semestre pasado era mi proyecto final de la materia de estructura de datos I el sistema consiste en registrar todos los vehículos mediante una interfaz gráfica si el vehículo no cuenta con todo al día sera depurado y si se encuentra con todo en orden se nacionalizara este proyecto surgió gracias a que en Bolivia existen demasiados autos indocumentados creo que es uno de los países que que tiene demasiados autos chutos o sin papeles las principales estructuras que se utilizaron fueron listas y colas.







Aca como siempre el codigo fuente no se los puedo explicar porque hoy anda en Examenes pero dejen sus comentarios si tiene dudas les puedo explicar aqui esta el codigo fuente.




package registrovehiculos; import java.util.Calendar; /** * * @author Reynaldo */ public class Aduana { private String propietario; private String tipo; private String nroChasis; private String nroMotor; private int ano; private String modelo; private String color; private double precio; public Aduana(String propietario,String tipo, String nroChasis, String nroMotor, int ano, String modelo, String color, double precio) { this.propietario = propietario; this.tipo = tipo; this.nroChasis = nroChasis; this.nroMotor = nroMotor; this.ano = ano; this.modelo = modelo; this.color = color; this.precio = precio; } public String getPropietario() { return propietario; } public void setPropietario(String propietario) { this.propietario = propietario; } public String getTipo() { return tipo; } public void setTipo(String tipo) { this.tipo = tipo; } public String getNroChasis() { return nroChasis; } public void setNroChasis(String nroChasis) { this.nroChasis = nroChasis; } public String getNroMotor() { return nroMotor; } public void setNroMotor(String nroMotor) { this.nroMotor = nroMotor; } public int getAno() { return ano; } public void setAno(int ano) { this.ano = ano; } public String getModelo() { return modelo; } public void setModelo(String modelo) { this.modelo = modelo; } public String getColor() { return color; } public void setColor(String color) { this.color = color; } public Double getPrecio() { return precio; } public void setPrecio(double precio) { this.precio = precio; } public Double calcularPrecio(){ double total = 0; int añoActual = Calendar.getInstance().get(Calendar.YEAR); if(añoActual - ano <= 5) total = precio * 0.3; else if(añoActual - ano <= 10) total = precio * 0.35; else if(añoActual - ano <= 17) total = precio * 0.5; return total; } public Boolean depurar(){ if(tipo.equals("") || nroChasis.equals("")|| nroMotor.equals("")|| ano == 0 || modelo.equals("") || color.equals("") || propietario.equals("") || precio == 0.0) return false; else return true; } public Boolean depurar1(){ if(!tipo.equals("") && !nroChasis.equals("")&& !nroMotor.equals("")&& ano != 0 && !modelo.equals("") && !color.equals("") && !propietario.equals("") && precio != 0.0) return false; else return true; } }

package registrovehiculos; import java.awt.Image; import java.awt.Toolkit; import java.awt.print.PrinterException; import java.text.MessageFormat; import java.util.logging.Level; import java.util.logging.Logger; import javax.swing.JTable; /** * * @author Reynaldo */ public class AduanaNacional extends javax.swing.JFrame { int fila = 0; int pos = 0; int posi = 0; Lista lista = new Lista(); Pila pila = new Pila(); Cola cola = new Cola(); Cola cola1 = new Cola(); Aduana aduana; Aduana aduana2; Aduana aduana3; /** Creates new form AduanaNacional */ public AduanaNacional() { initComponents(); } private void formWindowOpened(java.awt.event.WindowEvent evt) { // TODO add your handling code here: } private void btnnacionalizarActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: System.exit(0); } private void btnregistrarActionPerformed(java.awt.event.ActionEvent evt) { String nombre = txtpropietario.getText(); String tipo = cbotipo.getSelectedItem().toString(); String chasis = txtchasis.getText(); String motor = txtmotor.getText(); int modelo = Integer.parseInt(txtano.getText()); String marca = cbomodelo.getSelectedItem().toString(); String color = txtcolor.getText(); double precio = Double.parseDouble(txtprecio.getText()); lista.insertarAlFrente(new Aduana(nombre,tipo,chasis,motor,modelo,marca,color,precio)); aduana = (Aduana)lista.eliminarDelFinal(); if(lista.estaVacia()){ tablita.setValueAt(aduana.getPropietario(), fila, 0); tablita.setValueAt(aduana.getTipo(), fila, 1); tablita.setValueAt(aduana.getNroChasis(), fila, 2); tablita.setValueAt(aduana.getNroMotor(), fila, 3); tablita.setValueAt(aduana.getAno(), fila, 4); tablita.setValueAt(aduana.getModelo(), fila, 5); tablita.setValueAt(aduana.getColor(), fila, 6); tablita.setValueAt(aduana.getPrecio(), fila, 7); fila++; } if(tipo.equals("") || chasis.equals("")|| motor.equals("")|| modelo == 0 || marca.equals("") || color.equals("") || nombre.equals("") || precio == 0.0){ cola.enqueue(new Aduana(nombre,tipo,chasis,motor,modelo,marca,color,precio)); aduana2 = (Aduana)cola.dequeue(); tablita1.setValueAt(aduana2.getPropietario(), pos, 0); tablita1.setValueAt(aduana2.getTipo(), pos, 1); tablita1.setValueAt(aduana2.getNroChasis(), pos, 2); tablita1.setValueAt(aduana2.getNroMotor(), pos, 3); tablita1.setValueAt(aduana2.getAno(), pos, 4); tablita1.setValueAt(aduana2.getModelo(), pos, 5); tablita1.setValueAt(aduana2.getColor(), pos, 6); tablita1.setValueAt(aduana2.getPrecio(), pos, 7); pos++; } if(!tipo.equals("") && !chasis.equals("")&& !motor.equals("")&& modelo != 0 && !marca.equals("") && !color.equals("") && !nombre.equals("") && precio != 0.0){ cola1.enqueue(new Aduana(nombre,tipo,chasis,motor,modelo,marca,color,precio)); aduana3 = (Aduana)cola1.dequeue(); tablita2.setValueAt(aduana3.getPropietario(), posi, 0); tablita2.setValueAt(aduana3.getTipo(), posi, 1); tablita2.setValueAt(aduana3.getNroChasis(), posi, 2); tablita2.setValueAt(aduana3.getNroMotor(), posi, 3); tablita2.setValueAt(aduana3.getAno(), posi, 4); tablita2.setValueAt(aduana3.getModelo(), posi, 5); tablita2.setValueAt(aduana3.getColor(), posi, 6); tablita2.setValueAt(aduana3.calcularPrecio(), posi, 7); posi++; } txtchasis.setText(""); txtmotor.setText(""); txtpropietario.setText(""); cbomodelo.setSelectedIndex(0); txtano.setText(""); txtprecio.setText(""); cbotipo.setSelectedIndex(0); txtcolor.setText(""); } private void btnnacionalizar1ActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: try { //Mensaje de encabezado MessageFormat headerFormat = new MessageFormat("Imprimir Vehiculos Registrados"); //Mensaje en el pie de pagina MessageFormat footerFormat = new MessageFormat("Aduana nacional"); //Imprimir JTable tablita2.print(JTable.PrintMode.NORMAL, headerFormat, footerFormat); } catch (PrinterException ex) { Logger.getLogger(AduanaNacional.class.getName()).log(Level.SEVERE, null, ex); } } private void menuacercaActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: Acercade acerca = new Acercade(); acerca.setLocationRelativeTo(null); acerca.setVisible(true); acerca.show(); } private void btnnacionalizar2ActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: System.exit(0); } private void btnnacionalizar3ActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: try { //Mensaje de encabezado MessageFormat headerFormat = new MessageFormat("Imprimir Vehiculos Registrados"); //Mensaje en el pie de pagina MessageFormat footerFormat = new MessageFormat("Aduana nacional"); //Imprimir JTable tablita1.print(JTable.PrintMode.NORMAL, headerFormat, footerFormat); } catch (PrinterException ex) { Logger.getLogger(AduanaNacional.class.getName()).log(Level.SEVERE, null, ex); } } /** * @param args the command line arguments */ @Override public Image getIconImage() { Image retValue = Toolkit.getDefaultToolkit(). getImage(ClassLoader.getSystemResource("registrovehiculos/android.png")); return retValue; } public static void main(String args[]) { java.awt.EventQueue.invokeLater(new Runnable() { public void run() { new AduanaNacional().setVisible(true); } }); }

package registrovehiculos; import java.awt.Color; import java.awt.Font; import java.awt.Image; import java.awt.Toolkit; /** * * @author Reynaldo */ public class Acercade extends javax.swing.JFrame { /** Creates new form Acercade */ public Acercade() { initComponents(); } private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: this.dispose(); } private void formWindowOpened(java.awt.event.WindowEvent evt) { // TODO add your handling code here: String usuario="Nombre de Usuario: "+System.getProperty("user.name"); String pc ="Nombre del Equipo: "+ System.getenv("COMPUTERNAME"); String sistema ="Sistema Operativo: "+ System.getProperty("os.name"); String procesador="Procesador: "+ System.getenv("PROCESSOR_IDENTIFIER"); String java = "Version JDK: "+System.getProperty("java.version"); String dir = "Directorio: "+System.getProperty("user.dir"); String salida = usuario+"\n"+pc+"\n"+sistema+"\n"+procesador+"\n"+java+"\n"+dir+"\n"; Area.setText(salida); Area.setFont(new Font("Courier", Font.BOLD, 10)); Area.setEditable(false); Area.transferFocus(); Area.setForeground(Color.DARK_GRAY); } @Override public Image getIconImage() { Image retValue = Toolkit.getDefaultToolkit(). getImage(ClassLoader.getSystemResource("registrovehiculos/android.png")); return retValue; } /** * @param args the command line arguments */ public static void main(String args[]) { java.awt.EventQueue.invokeLater(new Runnable() { public void run() { new Acercade().setVisible(true); } }); }

package registrovehiculos; /** * * @author Reynaldo */ public class Nodo { Object datos;//los datos para este nodo Nodo siguienteNodo;//referencia al siguiente nodo de la lista //el constructor crea un objeto Nodo que hace referencia al objeto Nodo(Object objeto){ this(objeto, null); } Nodo(Object objeto, Nodo nodo){ datos = objeto; siguienteNodo = nodo; } Object obtenerObject(){ return datos; } Nodo obtenerSiguiente(){ return siguienteNodo; } }

package registrovehiculos; /** * * @author Reynaldo */ public class Lista { private Nodo primerNodo; private Nodo ultimoNodo; private String nombre; Object datoRemover; int pos = 0; public Lista(){ this("lista"); } public Lista(String nombreLista){ nombre = nombreLista; primerNodo = ultimoNodo = null; } public boolean estaVacia(){ return primerNodo == null; } public void insertarAlFrente(Object elementoInsertar){ if(estaVacia()) primerNodo = ultimoNodo = new Nodo(elementoInsertar); else primerNodo = new Nodo(elementoInsertar, primerNodo); } public void insertarAlFinal(Object elementoInsertar){ if(estaVacia()) primerNodo = ultimoNodo = new Nodo(elementoInsertar); else ultimoNodo = ultimoNodo.siguienteNodo = new Nodo(elementoInsertar); } public Object eliminarDelFrente() throws ExcepcionListaVacia{ if(estaVacia()) throw new ExcepcionListaVacia(nombre); Object elementoEliminado = primerNodo.datos; if(primerNodo == ultimoNodo) primerNodo = ultimoNodo = null; else primerNodo = primerNodo.siguienteNodo; return elementoEliminado; } public void insertarNpos(Object elementoInsertar, int pos){ if(estaVacia()) //insertarAlFrente(); if(pos == 1){ //insertarAlFrente(); } if(pos == cantNodo()){ //insetarAlFinal(); } else{ Nodo actual = primerNodo; for(int i = 0 ; i < pos - 1; i++){ actual = actual.siguienteNodo; Nodo nuevo = new Nodo(elementoInsertar, actual.siguienteNodo); } } } public Object eliminarDelFinal() throws ExcepcionListaVacia{ if(estaVacia()) throw new ExcepcionListaVacia(nombre); Object elementoEliminado = ultimoNodo.datos; if(primerNodo == ultimoNodo) primerNodo = ultimoNodo = null; else{ Nodo actual = primerNodo; while(actual.siguienteNodo != ultimoNodo) actual = actual.siguienteNodo; ultimoNodo = actual; actual.siguienteNodo = null; } return elementoEliminado; } public Object eliminarNpos() throws ExcepcionListaVacia{ if(estaVacia()) throw new ExcepcionListaVacia(nombre); if(pos == 1){ eliminarDelFrente(); } else{ if(pos == cantNodo()){ eliminarDelFinal(); } } Object elementoEliminado = ultimoNodo.datos; if(primerNodo.equals(ultimoNodo)){ primerNodo = ultimoNodo = null; return elementoEliminado; } Nodo actual = primerNodo; for(int i = 1 ; i < pos ; i++){ actual = actual.siguienteNodo; elementoEliminado = (actual.siguienteNodo).datos; actual.siguienteNodo = (actual.siguienteNodo).siguienteNodo; (actual.siguienteNodo).siguienteNodo = null; } return elementoEliminado; } public void imprimir(){ if(estaVacia()){ System.out.printf("%s Vacia\n", nombre); return; } System.out.printf("La %s es: ", nombre); Nodo actual = primerNodo; while(actual != null){ System.out.printf("%s ", actual.datos); actual = actual.siguienteNodo; } System.out.println("\n"); } public int cantNodo() { Nodo actual = primerNodo; int cant = 0; while(actual != null){ cant++; actual = actual; } return cant; } public class ExcepcionListaVacia extends RuntimeException{ public ExcepcionListaVacia(){ this("lista"); } public ExcepcionListaVacia(String nombre){ super(nombre + "Esta Vacia"); } } }

package registrovehiculos; /** * * @author Reynaldo */ public class Pila extends Lista{ public Pila(){ super("pila"); } public void push(Object objeto){ insertarAlFrente(objeto); } public Object pop() throws ExcepcionListaVacia{ return eliminarDelFrente(); } }

package registrovehiculos; import registrovehiculos.Lista.ExcepcionListaVacia; /** * * @author Reynaldo */ public class Cola { private Lista listaCola; public Cola(){ listaCola = new Lista("cola"); } public void enqueue(Object objeto){ listaCola.insertarAlFinal(objeto); } public Object dequeue() throws ExcepcionListaVacia{ return listaCola.eliminarDelFrente(); } public boolean estaVacia(){ return listaCola.estaVacia(); } public void imprimir(){ listaCola.imprimir(); } }

package registrovehiculos; /** * * @author Reynaldo */ public class Hilo extends Thread { Splashcreen ref; public Hilo(Splashcreen ref) { this.ref = ref; } @Override public void run() { while (true) { try { Thread.sleep(100); ref.Llenar_Barra(); } catch (InterruptedException ex) { } } } }

package registrovehiculos; /** * * @author Reynaldo */ public class RegistroVehiculos { /** * @param args the command line arguments */ public static void main(String[] args) { // TODO code application logic here new Thread(new Splashcreen()).start(); } }

package registrovehiculos; import java.awt.Image; import java.awt.Toolkit; import java.awt.print.PrinterException; import java.text.MessageFormat; import java.util.logging.Level; import java.util.logging.Logger; import javax.swing.JTable; /** * * @author Reynaldo */ public class AduanaNacional extends javax.swing.JFrame { int fila = 0; int pos = 0; int posi = 0; Lista lista = new Lista(); Pila pila = new Pila(); Cola cola = new Cola(); Cola cola1 = new Cola(); Aduana aduana; Aduana aduana2; Aduana aduana3; /** Creates new form AduanaNacional */ public AduanaNacional() { initComponents(); } private void formWindowOpened(java.awt.event.WindowEvent evt) { // TODO add your handling code here: } private void btnnacionalizarActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: System.exit(0); } private void btnregistrarActionPerformed(java.awt.event.ActionEvent evt) { String nombre = txtpropietario.getText(); String tipo = cbotipo.getSelectedItem().toString(); String chasis = txtchasis.getText(); String motor = txtmotor.getText(); int modelo = Integer.parseInt(txtano.getText()); String marca = cbomodelo.getSelectedItem().toString(); String color = txtcolor.getText(); double precio = Double.parseDouble(txtprecio.getText()); lista.insertarAlFrente(new Aduana(nombre,tipo,chasis,motor,modelo,marca,color,precio)); aduana = (Aduana)lista.eliminarDelFinal(); if(lista.estaVacia()){ tablita.setValueAt(aduana.getPropietario(), fila, 0); tablita.setValueAt(aduana.getTipo(), fila, 1); tablita.setValueAt(aduana.getNroChasis(), fila, 2); tablita.setValueAt(aduana.getNroMotor(), fila, 3); tablita.setValueAt(aduana.getAno(), fila, 4); tablita.setValueAt(aduana.getModelo(), fila, 5); tablita.setValueAt(aduana.getColor(), fila, 6); tablita.setValueAt(aduana.getPrecio(), fila, 7); fila++; } if(tipo.equals("") || chasis.equals("")|| motor.equals("")|| modelo == 0 || marca.equals("") || color.equals("") || nombre.equals("") || precio == 0.0){ cola.enqueue(new Aduana(nombre,tipo,chasis,motor,modelo,marca,color,precio)); aduana2 = (Aduana)cola.dequeue(); tablita1.setValueAt(aduana2.getPropietario(), pos, 0); tablita1.setValueAt(aduana2.getTipo(), pos, 1); tablita1.setValueAt(aduana2.getNroChasis(), pos, 2); tablita1.setValueAt(aduana2.getNroMotor(), pos, 3); tablita1.setValueAt(aduana2.getAno(), pos, 4); tablita1.setValueAt(aduana2.getModelo(), pos, 5); tablita1.setValueAt(aduana2.getColor(), pos, 6); tablita1.setValueAt(aduana2.getPrecio(), pos, 7); pos++; } if(!tipo.equals("") && !chasis.equals("")&& !motor.equals("")&& modelo != 0 && !marca.equals("") && !color.equals("") && !nombre.equals("") && precio != 0.0){ cola1.enqueue(new Aduana(nombre,tipo,chasis,motor,modelo,marca,color,precio)); aduana3 = (Aduana)cola1.dequeue(); tablita2.setValueAt(aduana3.getPropietario(), posi, 0); tablita2.setValueAt(aduana3.getTipo(), posi, 1); tablita2.setValueAt(aduana3.getNroChasis(), posi, 2); tablita2.setValueAt(aduana3.getNroMotor(), posi, 3); tablita2.setValueAt(aduana3.getAno(), posi, 4); tablita2.setValueAt(aduana3.getModelo(), posi, 5); tablita2.setValueAt(aduana3.getColor(), posi, 6); tablita2.setValueAt(aduana3.calcularPrecio(), posi, 7); posi++; } txtchasis.setText(""); txtmotor.setText(""); txtpropietario.setText(""); cbomodelo.setSelectedIndex(0); txtano.setText(""); txtprecio.setText(""); cbotipo.setSelectedIndex(0); txtcolor.setText(""); } private void btnnacionalizar1ActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: try { //Mensaje de encabezado MessageFormat headerFormat = new MessageFormat("Imprimir Vehiculos Registrados"); //Mensaje en el pie de pagina MessageFormat footerFormat = new MessageFormat("Aduana nacional"); //Imprimir JTable tablita2.print(JTable.PrintMode.NORMAL, headerFormat, footerFormat); } catch (PrinterException ex) { Logger.getLogger(AduanaNacional.class.getName()).log(Level.SEVERE, null, ex); } } private void menuacercaActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: Acercade acerca = new Acercade(); acerca.setLocationRelativeTo(null); acerca.setVisible(true); acerca.show(); } private void btnnacionalizar2ActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: System.exit(0); } private void btnnacionalizar3ActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: try { //Mensaje de encabezado MessageFormat headerFormat = new MessageFormat("Imprimir Vehiculos Registrados"); //Mensaje en el pie de pagina MessageFormat footerFormat = new MessageFormat("Aduana nacional"); //Imprimir JTable tablita1.print(JTable.PrintMode.NORMAL, headerFormat, footerFormat); } catch (PrinterException ex) { Logger.getLogger(AduanaNacional.class.getName()).log(Level.SEVERE, null, ex); } } /** * @param args the command line arguments */ @Override public Image getIconImage() { Image retValue = Toolkit.getDefaultToolkit(). getImage(ClassLoader.getSystemResource("registrovehiculos/android.png")); return retValue; } public static void main(String args[]) { java.awt.EventQueue.invokeLater(new Runnable() { public void run() { new AduanaNacional().setVisible(true); } }); }
Bueno estas son todas las clases del proyecto aca les dejo el link de descarga con en proyecto completo no se olviden que todos los proyectos son compilados con Netbeans.
Enlace de Descarga: https://rapidshare.com/files/3671854672/RegistroVehiculos.rar

Comentarios

  1. podrias volver a compartir el proyecto en drive o en algotro porque desde ese link no se puede descargar
    gracias

    ResponderEliminar
  2. hola que tal esta muy bueno tu programa crees que me puedas proporcionar tu codigo a mi correo no me deja entrar al rapidshare
    ddomex@hotmail.com te lo agradeceria mucho

    ResponderEliminar
  3. Si me puedes mandar el proyecto por este correo te lo agradeceria mucho

    eriksantanamarmolejos@gmail.com

    ya que el link de rapigshare no accede

    ResponderEliminar

Publicar un comentario

Deja tu Comentario.