Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

pedrix21

FileChooser + Imagem[Dúvida]

Mensagens Recomendadas

pedrix21

Boas pessoal,

O meu objectivo é colocar uma imagem numa jLabel.

Já consegui o path dá imagem com o seguinte código:

javax.swing.JFileChooser fc = new javax.swing.JFileChooser();
// Show the dialog, and add the aprove button text
        int ret = fc.showDialog(null, "Open file");
        if (ret == JFileChooser.APPROVE_OPTION) {
// Set the adress of csv file
            this.adress_file = fc.getSelectedFile().getAbsolutePath();

Já tenho o caminho, agora não sei como colocar a imagem na jLabel.

Obrigado, Pedro Lopes


@Pedro Lopes

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
pedrix21

Como fazer isso? :S

Fiz isto:

ImageIcon image = null;
           image.setDescription(adress_file);
           lblImagemRede.setIcon(image);

Dá me erro...


@Pedro Lopes

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Knitter

Como fazer isso? :S

Fiz isto:

ImageIcon image = null;
           image.setDescription(adress_file);
           lblImagemRede.setIcon(image);

Dá me erro...

É natural que dê, se defines a variável como null não lhe podes invocar métodos :P .

ImageIcon image = new ImageIcon(adress_file);
lblImagemRede.setIcon(image);

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
pedrix21

Obrigado, já consegui.

Tenho outro problema...

Quero ler o conteudo de um ficheiro .txt para colocar numa txtArea.

Extraí o caminho absoluto e mando para este método:

ublic String readerText(String adress_file) throws FileNotFoundException, IOException {

        FileReader fr = new FileReader(adress_file);
        BufferedReader br = new BufferedReader(fr);
        String s = "";
        while (br.readLine() != null) {
            s.concat(s + " ");
            System.out.println(s);
        }
        fr.close();
        return s;
    }

Dá me erro...

Podiam me explicar...


@Pedro Lopes

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Knitter

Sem saber qual é o erro não :P

O código que colocaste parece de teste, mas fica o reparo, não uses concatenações de Strings. Não foram feitas para isso, são imutáveis, implicam uma penalização de performance muito grande e há formas melhores de o fazer. Em vez da classe String usa StringBuilder ou se tiveres de usar um JRE antigo, StringBuffer.

O componente de texto de onde as JTextAreas descendem tem um bom método para ler dados de um ficheiro:

Reader leitor = new FileReader(adress_file);
JTextArea area = new JTextArea();
area.read(leitor, null);//O último parâmetro é um descritor, dependendo do código podes colocar aqui um File, um URL para o ficheiro, ou deixar a null.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
pedrix21

Obrigado :P

Já agora como criar um ficheiro .txt ?

Desculpa a maçada!

Para a próxima juro que vou ao java.sun xD


@Pedro Lopes

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Knitter

Criar um ficheiro depende do objectivo, ser .txt ou não é irrelevante para o Java, o que interessa é usar streams de escrita de caracteres.

Dá uma vista de olhos ao Java Tutorial, http://java.sun.com/docs/books/tutorial/reallybigindex.html, neste caso específico à secção de streams, http://java.sun.com/docs/books/tutorial/essential/io/charstreams.html e à secção seguinte de Buffered Streams.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.