El problema lo tengo creando un filtro , he creado aparte un JComboBox que contiene los filtros posibles.
el metodo de filtro funciona , el problema lo tengo al cargar visualmente de nuevo las cosas.
Al seleccionar un filtro , la pantalla deberia recargar las peliculas que cumplan x condicion.
Estoy intentando refrescar la pantalla con repaint pero no funciona.
CODE:
Código
if (cbFiltro == null) { @Override pnBillboard.removeAll(); pnBillboard.repaint(); } @Override addFilmsToBillboard(); pnBillboard.repaint(); } }); /* addFilmsToBillboard(); contentPane.repaint(); */ cbFiltro.addItem(""); cbFiltro.addItem("Todos los públicos"); cbFiltro.addItem("3D"); } return cbFiltro; } private void addFilmsToBillboard() { JButton aux; pnBillboard.setLayout(resizeGridLayout(billboard.getNumberOfFilms())); for (final Film each : billboard.getFilms()) { if(filtrar(each)){ //si cumple la condicion se añade + each.getGender() + " " + each.getRecomendedAge() + " " + each.is3DString() + "</html>"); "panelDescription"); tASumary.setText(each.getSynopsis()); lbTituloPelicula.setText(each.getTitle()); lbGeneropelicula.setText(each.getGender()); lblEdadr.setText(each.getRecomendedAge()); + " m"); checkB3D.setSelected(each.isIs3D()); lblFroom.setText(each.getRoom()); .getPremiereDates())); cbFiltro.setVisible(false); //esconder casilla filtro cargarImagenPelicula(each); showStep(false, true, false, false); } }); pnBillboard.add(aux); } }//if } private boolean filtrar(Film film){ switch (filter) { case "3D": return film.isIs3D(); case "Todos los publicos": return film.getRecomendedAge().equals("Todos los públicos"); default: return true; } }
Un saludo y espero su ayuda.
PD: creo recordar que una vez utilize algo que se llamaba UIManager pero me he puesto a mirar y no recuerdo como podria haberlo utilizado