DevMedia - asp.net, Java, Delphi, SQL e web Design, tudo em um só lugar!
Bem vindo a DevMedia!
LOGIN:     SENHA:
 
 

Fórum DevMedia


Autor
Mensagem
Eduardo Cesar Borsato de Oliveira
 


País: Brasil
Estado: SP
Cidade: Jaboticabal
Mensagens: 138
 Postado em: 30/5/2011 12:36:31 AM
 
Olá companheiros, sou iniciante em java, e estou tendo um probleminha que me parece ser coisa simples, mas quem não tem tanta experiencia gera certos atrasos, mas enfim, negocio é o seguinte tenho um formulário na onde quero inserir a foto do cliente q ta sendo cadastrado, ae tenho um campo do tipo texto, onde eu digito o nome da imagem e sua extensão, só que ele não traz essa imagem, veja uma parte do código abaixo,

[CODE]
                tf_foto.setText(con_cliente.resultset.getString("foto"));
                lbFoto.setIcon(new ImageIcon("/Estoque/images/"+tf_foto.getText()));

[/CODE]

Observação.:eu criei uma caixa de dialogo tambem, pra que o usuario possa procurar pela imagen, e indiquei esse mesmo diretório para ele abrir, só que ele abre no meus documentos, não no diretorio mostrado no código acima....
Davi Gomes da Costa
 

 


País: Brasil
Estado: CE
Cidade: Fortaleza
Mensagens: 1770
 Postado em: 30/5/2011 06:57:08 AM
 
A foto selecionada pelo usuário veio dessa pasta(/Estoque/images/"+tf_foto.getText())??

Que tal tratarmos como File antes de passarmos para ImageIcon. Depois que estiver tudo ok vc refatora para ImageIcon.

Se abrir em meu documentos não tem problema, vc trata pegando o caminho inteiro até a imagem, ou pega o array de bytes e salva essa imagem em uma pasta do seu programa.


Att Davi
Eduardo Cesar Borsato de Oliveira
 


País: Brasil
Estado: SP
Cidade: Jaboticabal
Mensagens: 138
 Postado em: 30/5/2011 07:41:14 AM
 
intão minha dúvida está ae. porque no campo de texto que eu entro com o nome da imagem e sua extensão ta beleza, ele até salva no banco exemplo. FOTO = semfoto.jpg isso no banco, só que no formulário em si, ele não me retorna ela, ela preenche o campo com o nome da imagem, mas não a insere na label.....
Davi Gomes da Costa
 

 


País: Brasil
Estado: CE
Cidade: Fortaleza
Mensagens: 1770
 Postado em: 30/5/2011 09:46:06 AM
 
No banco ele precisa salvar não só o nome do arquivo, mas todo o caminho. Por exemplo C:\imagem.jpg



att Davi
ROBSON PASSARELLA TEIXEIRA
 

 


País: Brasil
Estado: DF
Cidade: taguatinga
Mensagens: 518
 Postado em: 30/5/2011 09:57:02 AM
 
Tente usar o JFileChose pois com ele vc envia o arquivo e pode obter-lo como File e apartir disso vc obtem o diretorio dele todo.
 
att
 robson
Eduardo Cesar Borsato de Oliveira
 


País: Brasil
Estado: SP
Cidade: Jaboticabal
Mensagens: 138
 Postado em: 30/5/2011 10:17:59 AM
 
Então cheguei a utilizar o FileChos, só que mesmo assim, a imagem não carrega..... se poderem dar uma analisada no código ficaria grato;....

#Código

    private void button_fotoActionPerformed(java.awt.event.ActionEvent evt) {                                           
       try
       {
           JFileChooser busca_foto = new JFileChooser();
           busca_foto.setCurrentDirectory(new File("/Estoque/images/"));
           busca_foto.setDialogTitle("Carregar imagen do cliente");
           busca_foto.showOpenDialog(this);
           String foto = ""+busca_foto.getSelectedFile().getName();
           tf_foto.setText(foto);
           lbFoto.setIcon(new javax.swing.ImageIcon("/Estoque/images"+tf_foto.getText()));
       }
       catch(Exception erro)
       {
            // JOptionPane.showMessageDialog(null,"Não foi possivel inseriri foto" +erro);
       }
    }

Davi Gomes da Costa
 

 


País: Brasil
Estado: CE
Cidade: Fortaleza
Mensagens: 1770
 Postado em: 30/5/2011 10:39:12 AM
 
só vai funcionar se a imagem estiver dentro desse diretório /Estoque/images/.
Eu aconselharia vc a salvar a imagem nesse diretório se ela não estiver nela e depois salvar o registro da foto no banco, do diretório /Estoque/images/.
Para isso funcionar não deve setar o diretório amarrando como vc fez
/Estoque/images/, vai ter que deixar a do arquivo selecionado.

att Davi
Eduardo Cesar Borsato de Oliveira
 


País: Brasil
Estado: SP
Cidade: Jaboticabal
Mensagens: 138
 Postado em: 30/5/2011 10:41:58 AM
 
então a imagem esta dentro desse diretório quanto a isso tenho certeza, é que tipo estou fazendo seguindo umas video aulas, no que eu vi no video, roda beleza desse mesmo jeito, só que aqui não esta indo....
Davi Gomes da Costa
 

 


País: Brasil
Estado: CE
Cidade: Fortaleza
Mensagens: 1770
 Postado em: 30/5/2011 11:06:22 AM
 
Hm.. sakei,mas gera alguma Exception?

Att Davi
Eduardo Cesar Borsato de Oliveira
 


País: Brasil
Estado: SP
Cidade: Jaboticabal
Mensagens: 138
 Postado em: 30/5/2011 11:08:56 AM
 
se eu descomentar a linha do catch. ele da o seguinte erro

"java.lang.nullPointerException" mas ele só da essa mensagem, si eu clicar no cancelar da caixa de diálogo, caso eu escolha o arquivo, e clique em abrir, ele ja passa no nome dele pro textField, mas não insere ele no label...
Davi Gomes da Costa
 

 


País: Brasil
Estado: CE
Cidade: Fortaleza
Mensagens: 1770
 Postado em: 30/5/2011 11:15:39 AM
 
Faz o seguinte então posta o StackTrace inteiro para gente analisar.

Att Davi
Eduardo Cesar Borsato de Oliveira
 


País: Brasil
Estado: SP
Cidade: Jaboticabal
Mensagens: 138
 Postado em: 30/5/2011 11:34:14 AM
 
sou iniciante, mas se entendi o que vc me disse, é isso que vc precisa para analisar??

run:
java.lang.NullPointerException
       
        at cadastros.cad_cliente.button_fotoActionPerformed(cad_cliente.java:1195)
        at cadastros.cad_cliente.access$700(cad_cliente.java:25)
        at cadastros.cad_cliente$8.actionPerformed(cad_cliente.java:412)
        at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
        at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
        at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
        at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
        at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
        at java.awt.Component.processMouseEvent(Component.java:6289)
        at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
        at java.awt.Component.processEvent(Component.java:6054)
        at java.awt.Container.processEvent(Container.java:2041)
        at java.awt.Component.dispatchEventImpl(Component.java:4652)
        at java.awt.Container.dispatchEventImpl(Container.java:2099)
        at java.awt.Component.dispatchEvent(Component.java:4482)
        at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4577)
        at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238)
        at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)
        at java.awt.Container.dispatchEventImpl(Container.java:2085)
        at java.awt.Window.dispatchEventImpl(Window.java:2478)
        at java.awt.Component.dispatchEvent(Component.java:4482)
        at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:644)
        at java.awt.EventQueue.access$000(EventQueue.java:85)
        at java.awt.EventQueue$1.run(EventQueue.java:603)
        at java.awt.EventQueue$1.run(EventQueue.java:601)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
        at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:98)
        at java.awt.EventQueue$2.run(EventQueue.java:617)
        at java.awt.EventQueue$2.run(EventQueue.java:615)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:614)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
        at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
CONSTRUÍDO COM SUCESSO (tempo total: 40 segundos)
Davi Gomes da Costa
 

 


País: Brasil
Estado: CE
Cidade: Fortaleza
Mensagens: 1770
 Postado em: 30/5/2011 11:52:30 AM
 
O erro está nessa linha cad_cliente.java:1195,
posta ele para gente ver o que pode estar vindo nulo, ou debuga e já descobre o que está vindo nulo.

Att Davi
Eduardo Cesar Borsato de Oliveira
 


País: Brasil
Estado: SP
Cidade: Jaboticabal
Mensagens: 138
 Postado em: 30/5/2011 12:04:12 PM
 
o código da linha 1195 é esse.....

#Código


         String foto = ""+busca_foto.getSelectedFile().getName();


Davi Gomes da Costa
 

 


País: Brasil
Estado: CE
Cidade: Fortaleza
Mensagens: 1770
 Postado em: 30/5/2011 12:16:46 PM
 
Beleza, provavelmente esse cara está nulo:
busca_foto.getSelectedFile()
att Davi

Eduardo Cesar Borsato de Oliveira
 


País: Brasil
Estado: SP
Cidade: Jaboticabal
Mensagens: 138
 Postado em: 30/5/2011 07:12:51 PM
 
intão eu devo passar algum valor no getSelectedFile()??
Davi Gomes da Costa
 

 


País: Brasil
Estado: CE
Cidade: Fortaleza
Mensagens: 1770
 Postado em: 30/5/2011 08:58:58 PM
 
Com certeza tem que tratar esse nullpointer de alguma forma.

Att Davi
Eduardo Cesar Borsato de Oliveira
 


País: Brasil
Estado: SP
Cidade: Jaboticabal
Mensagens: 138
 Postado em: 30/5/2011 09:40:56 PM
 
mas um exemplo do parametro q posso passar pra ele, to meio q perdidoo =/
Davi Gomes da Costa
 

 


País: Brasil
Estado: CE
Cidade: Fortaleza
Mensagens: 1770
 Postado em: 31/5/2011 07:05:45 AM
 
Seguinte seu parâmetro é um File (java.io):

busca_foto.setSelectedFile(new File("caminho\\arquivo.jpg"));


Mas agora vc coloca o arquivo tb, não só a pasta.

att Davi
Davi Gomes da Costa
 

 


País: Brasil
Estado: CE
Cidade: Fortaleza
Mensagens: 1770
 Postado em: 31/5/2011 07:30:12 AM
 
Só para reforçar:

http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4893572

http://www.coderanch.com/t/346734/GUI/java/JFileChooser-setSelectedFile-hangs

http://stackoverflow.com/questions/356671/jfilechooser-showsavedialog-how-to-set-suggested-file-name

E um exemplo de teste:



import java.awt.*;

import java.awt.event.*;
import java.io.File;
import javax.swing.*;

public class Test extends JFrame {
    JFileChooser chooser = new JFileChooser();
    JButton button = new JButton("Escolha um arquivo ...");

    public Test() {
        super("Exemplo JFileChooser");
        Container contentPane = getContentPane();

        contentPane.setLayout(new FlowLayout());
        contentPane.add(button);

        button.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                int state = chooser.showOpenDialog(null);
                File file = chooser.getSelectedFile();

                if (file != null && state == JFileChooser.APPROVE_OPTION) {
                    JOptionPane.showMessageDialog(null, file.getPath());
                } else if (state == JFileChooser.CANCEL_OPTION) {
                    JOptionPane.showMessageDialog(null, "Cancelado");
                }
            }
        });
    }

    public static void main(String args[]) {
        JFrame f = new Test();
        f.setBounds(300, 300, 350, 100);
        f.setVisible(true);

        f.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);

        f.addWindowListener(new WindowAdapter() {
            public void windowClosed(WindowEvent e) {
                System.exit(0);
            }
        });
    }
}


Espero ter ajudado

Att Davi
Eduardo Cesar Borsato de Oliveira
 


País: Brasil
Estado: SP
Cidade: Jaboticabal
Mensagens: 138
 Postado em: 31/5/2011 07:54:19 AM
 
Davi muito obrigado pela ajuda, vou testar o exemplo que voce me passou, e tentar passar o parametro pro getSelected.Mais a noite eu volto, porque agora to na facul estagio e a correria, mas assim que eu tiver uma resposta do teste volto aqui pra te dizer, tenha um Bom Dia com Deus ae!!!!
Davi Gomes da Costa
 

 


País: Brasil
Estado: CE
Cidade: Fortaleza
Mensagens: 1770
 Postado em: 31/5/2011 08:31:18 AM
 
Tranquilo eduardo, o que precisar pode contar com a gente.
Ps. gostei da imagem... srrsrsrsrs


Att Davi
Eduardo Cesar Borsato de Oliveira
 


País: Brasil
Estado: SP
Cidade: Jaboticabal
Mensagens: 138
 Postado em: 31/5/2011 07:59:07 PM
 
Ohh Davi boa noite cara, te fala testei aqui a passagem de parametro  como vc tinha me dito....

busca_foto.setSelectedFile(new File("caminho\\arquivo.jpg")).getName();

só que da erro na linha de sintaxe, não tem como eu passar o diretório e o nome do arquivo nessa linha...se tem eu não sei =/ kkk


busca_foto.setCurrentDirectory(new File("/Estoque/images/"));

quando eu passo pro setCurrentDirectory o "/Estoque/images/", a caixa de dialogo não deveria abrir ai diretamente.....??? porque quando eu rodo a aplicação ele abre o Meus Documentos, ae tenho que procurar até chega nesse caminho que é passado
"setCurrentDirectory(new File("/Estoque/images/"))"

e a mensagem de erro, eu percebi que ela só da quando eu clico no cancelar, sem ter selecionado nenhum arquivo, exemplo se eu tiver selecionado uma pasta e clicar no cancelar ele da erro, agora se eu seleciono qualquer outro arquivo ele passa o nome numa boa.....sem dar o erro


DYEGO SOUZA DO CARMO
 

 


País: Brasil
Estado: PR
Cidade: xxxxx
Mensagens: 1836
 Postado em: 9/6/2011 09:31:10 AM
 
Resolvido ?

Se sim , poderia fechar ?

Valeu !
DYEGO SOUZA DO CARMO
 

 


País: Brasil
Estado: PR
Cidade: xxxxx
Mensagens: 1836
 Postado em: 15/6/2011 10:05:39 AM
 
Se for um arquivo dentro do JAR voce pode usar um NomeClass.class.getResourceAsStream();
Eduardo Cesar Borsato de Oliveira
 


País: Brasil
Estado: SP
Cidade: Jaboticabal
Mensagens: 138
 Postado em: 5/7/2011 04:47:02 PM
 
Nossa me Desculpem pela demora em manter esse tópico aberto, o problema ja foi solucionado e de maneira bem simples ainda, fuçando eu copiei meu projeto para raiz do meu HD, mandei ele executa aplicação e la estavam os formularios com as Fotos.....MUITO OBRIGADO A TODOS PELA AJUDA!!!!!!
web-03
DevMedia  |  Anuncie  |  Fale conosco
Hospedagem web por Porta 80 Web Hosting
2013 - Todos os Direitos Reservados a web-03