JList Seleccionar lista del Objeto AYUDA!
Tengo problemas para capturar objeto de un jlist seleccionado. Deje una imagen de como es el diseño
List<Ciudad> listaciudad;
Ciudad ciudad;
public ModeloJListCiudad(List<Ciudad> listaciudad){
this.listaciudad = listaciudad;
}
@Override
public int getSize() {
return listaciudad.size();
}
@Override
public Object getElementAt(int index) {
return listaciudad.get(index).toString();
}
public void setSelectedItem(Object o){
if (o != null && listaciudad.size() > 0){
for (Ciudad m : listaciudad){
if (m.toString().equals(o.toString())){
ciudad = m;
break;
}
}
}
}
public Object getSelectedItem() {
return ciudad;
}
}
Clase Zonas
private long idzona;
private String zona;
private Set zonas_sectores = new HashSet(0);
public Zonas() {
}
public Zonas(String zona) {
this.zona = zona;
}
public long getIdzona() {
return idzona;
}
public void setIdzona(long idzona) {
this.idzona = idzona;
}
public String getZona() {
return zona;
}
public void setZona(String zona) {
this.zona = zona;
}
public Set getZonas_sectores() {
return zonas_sectores;
}
public void setZonas_sectores(Set zonas_sectores) {
this.zonas_sectores = zonas_sectores;
}
Clase Pais
long idpais;
String pais;
private Set ciudades = new HashSet(0);
public Pais() {
}
public Pais(String pais, Set ciudades) {
this.pais = pais;
}
public long getIdpais() {
return idpais;
}
public void setIdpais(long idpais) {
this.idpais = idpais;
}
public String getPais() {
return pais;
}
public void setPais(String pais) {
this.pais = pais;
}
public Set getCiudades() {
return this.ciudades;
}
public void setCiudades(Set ciudades) {
this.ciudades = ciudades;
}
Clase Ciudad
long idciudad;
String ciudad;
Pais pais;
private Set municipios = new HashSet(0);
public Ciudad() {
}
public Ciudad(Pais pais, String ciudad, Set municipios) {
this.pais = pais;
this.ciudad = ciudad;
this.municipios = municipios;
}
public long getIdciudad() {
return idciudad;
}
public void setIdciudad(long idciudad) {
this.idciudad = idciudad;
}
public String getCiudad() {
return ciudad;
}
public void setCiudad(String ciudad) {
this.ciudad = ciudad;
}
public Pais getPais() {
return pais;
}
public void setPais(Pais pais) {
this.pais = pais;
}
public Set getMunicipios() {
return this.municipios;
}
public void setMunicipios(Set municipios) {
this.municipios = municipios;
}
@Override
public String toString() {
return ciudad;
}
}
Clase Zona_Sectores
private long idzona_sector;
private Zonas zona;
private Sector sector;
public Zonas_Sectores() {
}
public Zonas_Sectores(Zonas zona, Sector sector) {
this.zona = zona;
this.sector = sector;
}
public long getIdzona_sector() {
return idzona_sector;
}
public void setIdzona_sector(long idzona_sector) {
this.idzona_sector = idzona_sector;
}
public Zonas getZona() {
return zona;
}
public void setZona(Zonas zona) {
this.zona = zona;
}
public Sector getSector() {
return sector;
}
public void setSector(Sector sector) {
this.sector = sector;
}
}
DAO Sector
private Session sesion;
private Transaction tx;
public boolean guardarSector(Sector sector) throws HibernateException {
boolean resp = false;
try {
iniciarOperacion();
//tr.setTimeout(2);
sesion.save(sector);
tx.commit();
resp = true;
} catch (HibernateException he) {
tx.rollback();
he.printStackTrace();
resp = false;
throw he;
} finally {
if (sesion.isOpen()) {
sesion.close();
}
}
return resp;
}
public boolean actualizarSector(Sector sector) throws HibernateException {
boolean resp = false;
try {
iniciarOperacion();
//tr.setTimeout(2);
sesion.saveOrUpdate(sector);
tx.commit();
resp = true;
} catch (HibernateException he) {
tx.rollback();
he.printStackTrace();
resp = false;
throw he;
} finally {
if (sesion.isOpen()) {
sesion.close();
}
}
return resp;
}
public boolean eliminarSector(Sector sector) throws HibernateException {
boolean resp = false;
try {
iniciarOperacion();
//tr.setTimeout(2);
sesion.delete(sector);
tx.commit();
resp = true;
} catch (HibernateException he) {
tx.rollback();
he.printStackTrace();
resp = false;
throw he;
} finally {
if (sesion.isOpen()) {
sesion.close();
}
}
return resp;
}
public long maxIdSector() {
long maxid = 0;
try {
this.iniciarOperacion();
maxid = (long) sesion.createCriteria(Sector.class)
.setProjection(Projections.max("idsector")).uniqueResult();
} catch (HibernateException he) {
throw he;
} finally {
if (sesion.isOpen()) {
sesion.close();
}
}
return maxid;
}
public List<Sector> Listar(Municipio municipio) {
List<Sector> lista = null;
try {
iniciarOperacion();
tx.setTimeout(2);
lista = sesion.createCriteria(Sector.class).setFetchMode("municipio", FetchMode.JOIN).
add(Restrictions.eq("municipio.idmunicipio", municipio.getIdmunicipio())).addOrder(Order.asc("idsector")).list();
} catch (Exception e) {
e.printStackTrace();
} finally {
if (sesion.isOpen()) {
sesion.close();
}
}
return lista;
}
public List<Sector> ListarStringnotExists(String municipio) {
List<Sector> lista = null;
try {
iniciarOperacion();
tx.setTimeout(2);
DetachedCriteria query = DetachedCriteria.forClass(Zonas_Sectores.class, "zs")
.setProjection(Property.forName("zs.idsector"))
.add(Property.forName("zs.idsector").eqProperty("s.idsector"));
lista = sesion.createCriteria(Sector.class, "s")
.createAlias("s.municipio", "m")
.add(Restrictions.eq("m.municipio", municipio))
.add(Subqueries.notExists(query))
.list();
} catch (Exception e) {
e.printStackTrace();
} finally {
if (sesion.isOpen()) {
sesion.close();
}
}
return lista;
}
public List<Sector> ListarStringExists(String municipio) {
List<Sector> lista = null;
try {
iniciarOperacion();
tx.setTimeout(2);
DetachedCriteria query = DetachedCriteria.forClass(Zonas_Sectores.class, "zs")
.setProjection(Property.forName("zs.idsector"))
.add(Property.forName("zs.idsector").eqProperty("s.idsector"));
lista = sesion.createCriteria(Sector.class, "s")
.createAlias("s.municipio", "m")
.add(Restrictions.eq("m.municipio", municipio))
.add(Subqueries.exists(query))
.list();
} catch (Exception e) {
e.printStackTrace();
} finally {
if (sesion.isOpen()) {
sesion.close();
}
}
return lista;
}
public void iniciarOperacion() throws HibernateException {
sesion = HibernateUtil.getSessionFactory().openSession();
tx = sesion.beginTransaction();
}
public void manejaException(HibernateException he) throws HibernateException {
tx.rollback();
throw new HibernateException("Ocurrio un error en la capa de acceso a datos. ", he);
}
}
Parte del Codigo donde trato llenar el JList de Ciudad mediante el objeto seleccionado en el JList de Pais
List<Zonas> p = zonasdao.listadozonas();
cbxZona.setModel(new ModeloComboboxZonas(p));
}
public void llenaJListPais() {
List<Pais> p = pd.listadopais();
jltPais.setModel(new ModeloJListPais(p));
}
------------Esta es la parte donde no me captura el objeto de la clase Pais-------------------
public void llenaJListCiudad() {
Object objeto = jltPais.getSelectedValue();
if (objeto instanceof Pais) {
Pais pp = (Pais) objeto;
if (pp == null) {
JOptionPane.showMessageDialog(this, "No captura objeto");
} else {
jltCiudad.setModel(new ModeloJListCiudad(cd.ListarString(pp)));
}
}
}
private void jltPaisValueChanged(javax.swing.event.ListSelectionEvent evt) {
llenaJListCiudad();
}
private void cbxZonaItemStateChanged(java.awt.event.ItemEvent evt) {
llenaJListPais();
}
Adjunto | Tamaño |
---|---|
asigzonar.jpg | 58.35 KB |
- Inicie sesión o regístrese para enviar comentarios
Comentarios recientes
hace 1 semana 1 día
hace 7 semanas 6 días
hace 1 año 4 días
hace 2 años 12 semanas
hace 2 años 16 semanas
hace 2 años 23 semanas
hace 2 años 31 semanas
hace 2 años 34 semanas
hace 2 años 36 semanas
hace 2 años 39 semanas