Ele não está retornando o caminho e entra no if do JOptionPane não importa o que eu faça.
public static String saida() {
JFileChooser filechooser = new JFileChooser();
filechooser.setFileSelectionMode(JFileChooser.FILES_ONLY);
int saida = 0;
do {
if (filechooser.showSaveDialog(null) == JFileChooser.SAVE_DIALOG) {
return filechooser.getSelectedFile().getAbsolutePath();
}
if (JOptionPane.showConfirmDialog(null, "Deseja tentar novamente?",
"Erro", JOptionPane.YES_NO_OPTION) == JOptionPane.NO_OPTION) {
System.exit(0);
}
} while (saida == 0);
return null;
}
Tópico movido para o fórum de interface gráfica. Por favor, leia com atenção a descrição dos fóruns antes de postar.
Além disso, procure ler a documentação do Java antes de perguntar. De cara, vc já vê que seu código está diferente do exemplo no topo da classe:
http://download.oracle.com/javase/7/docs/api/javax/swing/JFileChooser.html
E se você ler a documentação do método aqui:
http://download.oracle.com/javase/7/docs/api/javax/swing/JFileChooser.html#showSaveDialog(java.awt.Component)
Você veria que os valores de retorno possíveis são:
[quote=“javadoc”]
the return state of the file chooser on popdown:
JFileChooser.CANCEL_OPTION
JFileChooser.APPROVE_OPTION
JFileChooser.ERROR_OPTION if an error occurs or the dialog is dismissed [/quote]
Então, porque você está comparando o retorno com JFileChooser.SAVE_DIALOG?