Fórum mudar a imagem dinamicamente com um selectItem #387530
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
Gostei + 0
04/10/2010
Dyego Carmo
Opa , poderia fechar este post ?
ValeuZ !
ValeuZ !
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)