Qual o evento que eu uso quando eu clicar no botão abrir ou salvar do filechooser?
Duvida JFileChooser
3 Respostas
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
É 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?
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