mudar a imagem dinamicamente com um selectItem
29/09/2010
0
Bom dia pessoal,
eu estou tentando mudar a imagem exibida a partir de um selectItem, ou seja, de acordo com o selectItem escolhido, a imagem muda.
Aqui está meu bean
Alguém poderia me ajudar ?
eu estou tentando mudar a imagem exibida a partir de um selectItem, ou seja, de acordo com o selectItem escolhido, a imagem muda.
<h:form id="form_ajax"> <a4j:region id="teste"> <h:selectOneMenu value="#{mediaBean.municipio.codigo}" id="codOrgao" > <f:selectItems value="#{mediaBean.listaDeMunicipios}" /> <a4j:support reRender="painel_img_filho" event="onchange" ajaxSingle="true" action="#{mediaBean.mudarUrl}"/> </h:selectOneMenu> <a4j:outputPanel id="painel_img_filho"> <h:graphicImage url="#{mediaBean.mediaData.caminhoImagem}"/> </a4j:outputPanel> </a4j:region> </h:form>
Aqui está meu bean
public void paint(OutputStream stream, Object object) throws IOException { try{ File file = null; //Pega a foto associada ao usuário if (mediaData.getCaminhoImagem() != null && !mediaData.getCaminhoImagem().equals("")){ file = new File(mediaData.getCaminhoImagem()); //Caso a foto não exista, é exibida a imagem de "FOTO NÃO ECONTRADA" //Responsáveis por "escrever" a foto no a4j:mediaOutput. BufferedImage image = ImageIO.read(file); ImageIO.write(image, "jpg", file); } //Isso tambem funciona, mas pelo jeito virará deprecated logo... // JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out); // encoder.encode(ImageIO.read(file)); //Outra maneira que tambem funciona... // byte[] buffer = null; // InputStream is = new FileInputStream(file); // buffer = new byte[is.available()]; // is.read(buffer); // is.close(); // out.write(buffer); } catch(Exception e) { e.printStackTrace(); }
Alguém poderia me ajudar ?
Euclides Filizola
Curtir tópico
+ 0
Responder
Posts
29/09/2010
Euclides Filizola
Problema resolvido.
aqui ficou meu codigo.
e aqui está meu método paint.
abraços.
aqui ficou meu codigo.
<h:form id="form_ajax"> <a4j:region id="teste"> <a4j:outputPanel id="painel_img_padrao"> <h:selectOneMenu value="#{mediaBean.municipio.codigo}" id="codOrgao" > <f:selectItems value="#{mediaBean.listaDeMunicipios}" /> <a4j:support reRender="painel_img_secundario" event="onchange" ajaxSingle="true" action="#{mediaBean.mudarUrl}"/> </h:selectOneMenu> </a4j:outputPanel> <a4j:outputPanel id="painel_img_secundario" ajaxRendered="true"> <h:graphicImage url="#{mediaBean.mediaData.caminhoImagem}"/> </a4j:outputPanel> </a4j:region> </h:form>
e aqui está meu método paint.
public void paint(OutputStream stream, Object object) throws IOException { try{ File file = null; //Pega a foto associada ao usuário if (mediaData.getCaminhoImagem() != null && !mediaData.getCaminhoImagem().equals("")){ file = new File(mediaData.getCaminhoImagem()); //Caso a foto não exista, é exibida a imagem de "FOTO NÃO ECONTRADA" //Responsáveis por "escrever" a foto no a4j:mediaOutput. BufferedImage image = ImageIO.read(file); ImageIO.write(image, "jpg", stream); } //Isso tambem funciona, mas pelo jeito virará deprecated logo... // JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out); // encoder.encode(ImageIO.read(file)); //Outra maneira que tambem funciona... // byte[] buffer = null; // InputStream is = new FileInputStream(file); // buffer = new byte[is.available()]; // is.read(buffer); // is.close(); // out.write(buffer); } catch(Exception e) { e.printStackTrace(); } }
abraços.
Responder
Clique aqui para fazer login e interagir na Comunidade :)