hola que tal
el problema q tengo q es q solo me deja agregar un vehiculo a la lista de vehiculos... y el error de jOptionPane me dice q no lo reconoce :(
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
Validacion v = new Validacion(txtPlaca.getText(), txtNombre.getText(),txtKm.getText());
if(v.validarcajasllenas()== false || v.validarNumeros()==false|| v.validarDatos()==false){
JOptionPane.showMessageDialog(null,"Complete todos de manera correcta", "Información",JOptionPane.WARNING_MESSAGE);
}
else{
Lv.AgregarVehiculos(new Vehiculo(txtPlaca.getText(), txtNombre.getText(), Integer.parseInt(txtKm.getText())));
Lv.MostrarVehiculos();
}
}
con las siguientes clases :
public class Validacion {
private String placaVehiculo;
private String nombrePersona;
private String actualKm;
public Validacion(String p, String n, String ak){
this.nombrePersona= n;
this.placaVehiculo =p;
this.actualKm =ak;
}
public boolean validarcajasllenas(){
if ( (nombrePersona.length()==0) || (placaVehiculo.length()==0) || (actualKm.length()==0) ){
return false;
}
else{return true;}
}
public boolean validarDatos(){
if((placaVehiculo.matches(("[a-zA-Z]*")))&&(nombrePersona.matches(("[a-zA-Z]*")))){
return true;
}
else {return false;}
}
public boolean validarNumeros(){
if (actualKm.matches("[0-9]*")){
return true;
}else{return false;}
}
}
package ejercicion5;
import java.util.TreeSet;
public class Vehiculo {
private String placaVehiculo;
private String nombrePersona;
private int actualKm;
public Vehiculo(){
}
public Vehiculo (String placaVehiculo, String nombrePersona, int actualkm){
this.placaVehiculo = placaVehiculo;
this.nombrePersona = nombrePersona;
this.actualKm = actualKm;
}
public void setplacaVehiculo(String placaVehiculo ){this.placaVehiculo = placaVehiculo;}
public void setnombrePersona(String nombre){this.nombrePersona = nombre;}
public void setKm(int actualKm){this.actualKm = actualKm;}
public String getPlaca(){return placaVehiculo;}
public String getnombrePersona(){return nombrePersona;}
public int getactualKm(){return actualKm;}
public String toString(){
return(this.getPlaca()+ " "+ this.getnombrePersona() +" "+ this.getactualKm());
}
}
Gracias :D
:xD
no entiendo si los metodos de validacion devuelven false se imprime messagedialog si no agrego objetos a la lista de vehiculos.
Explicate :P
Mira es por que tienes que especificar el orden en el método compareTo, claro tu class vehiculo tienen que implementar comparable<Vehiculo> y luego defines un orden de ordenamiento.
pero no quiero ordenarlos xDD solo quiero q se vayan agregando al treeset.
pregunta : siempre cuando uso TreeSet tengo q usar el comparable?? o lo puedo usar como una list.
Cuando usas una Collection tipo TreeSet , TODOS los objetos que vayas a agregar deber definir la manera en que se ordenarán , ya que dicha collection es ordenada , con lo cual , basta con que tu clase implemente el método compareTo(Object o) de la interfas Comparable , si no te interesa ordenarlo , solamente has que dicho método devuelva 1 , asi agregará a todos , o utiliza otra collection que no se ordene , tipo ArrayList o Vector.
Cita de: Didacso en 17 Agosto 2010, 14:45 PM
Cuando usas una Collection tipo TreeSet , TODOS los objetos que vayas a agregar deber definir la manera en que se ordenarán , ya que dicha collection es ordenada , con lo cual , basta con que tu clase implemente el método compareTo(Object o) de la interfas Comparable , si no te interesa ordenarlo , solamente has que dicho método devuelva 1 , asi agregará a todos , o utiliza otra collection que no se ordene , tipo ArrayList o Vector.
ahh listo nop sabia q los TreeSet siempre hay q usar un compare
gracias :)