Duvida JFileChooser

3 respostas
Vinny

Qual o evento que eu uso quando eu clicar no botão abrir ou salvar do filechooser?

3 Respostas

Naruffy

Não entendi muito bem oque vc quer, mas acho que é isso:

public void actionPerformed(ActionEvent e) {
    //Handle open button action.
    if (e.getSource() == openButton) {
        // Espera o usuário pegar o arquivo e coloca o resultado em uma variável
        int returnVal = fc.showOpenDialog(FileChooserDemo.this);

        // Se o resultado for o botão de aprovação
        if (returnVal == JFileChooser.APPROVE_OPTION) {
            File file = fc.getSelectedFile();
            //This is where a real application would open the file.
            log.append("Opening: " + file.getName() + "." + newline);
        // Se o resultado não for o botão de aprovação
        } else {
            log.append("Open command cancelled by user." + newline);
        }
   } ...
}

[]s

Vinny

É isso mesmo eu
quero programar um evento quando ele clicar em abrir

só que o if abaixo fica grifado em vermelho

if (evt.getSource() == openButton) 
{...}

diz que eu tenho que declarar o openButton
o que pode ser isso?

Naruffy

Esse actionPerfomed é o action do JFrame, o if ele faz para saber se a ação veio de um botão específico, em particularmento prefiro que as ações direto nos botões, fiz um exemplo:

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;

import javax.swing.JButton;
import javax.swing.JFileChooser;
import javax.swing.JFrame;


public class Teste extends JFrame{
    public Teste() {
        super("Teste");
        setVisible(true);
        setSize(200, 200);
        setLayout(null);
        
        JButton b = new JButton("JFileChooser");
        b.setBounds(0, 0, 100, 50);
        b.addActionListener( new ActionListener(){
            @Override
            public void actionPerformed(ActionEvent e) {
                JFileChooser fc = new JFileChooser();
                // Espera o usuário pegar o arquivo e coloca o resultado em uma variável
                int returnVal = fc.showOpenDialog(Teste.this);

                // Se o resultado for o botão de aprovação
                if (returnVal == JFileChooser.APPROVE_OPTION) {
                    File file = fc.getSelectedFile();
                    //This is where a real application would open the file.
                    System.out.println("Opening: " + file.getName());
                // Se o resultado não for o botão de aprovação
                } else {
                    System.out.println("Open command cancelled by user.");
                }
            }
        });
        add(b);
    }

    public static void main(String[] args) {
        new Teste();
    }
}
Criado 26 de novembro de 2009
Ultima resposta 26 de nov. de 2009
Respostas 3
Participantes 2