eccomi qua.
ho preso il tuo esempio come riferimento e sto cercando di integrare il mio.
ho aggiunto i vari filtri.
però ho un errore:
codice:
import java.io.*;
import java.text.*;
import javax.swing.*;
import javax.swing.filechooser.FileFilter;
import javax.swing.filechooser.FileNameExtensionFilter;
public class FileChooserArea {
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
JFileChooser fc = new SafeOverwriteFileChooser();
// fc.showSaveDialog(null);
FileFilter csvFilter = new FileNameExtensionFilter("File CSV", "csv");
FileFilter txtFilter = new FileNameExtensionFilter("File TXT", "txt");
fc.addChoosableFileFilter(csvFilter);
fc.addChoosableFileFilter(txtFilter);
fc.addChoosableFileFilter(csvFilter);
fc.addChoosableFileFilter(txtFilter);
int returnVal = fc.showSaveDialog(fc);
if (returnVal == JFileChooser.APPROVE_OPTION) {
File f = fc.getSelectedFile();
FileFilter selectedFilter = fc.getFileFilter();
if (f.getName().indexOf('.') == -1) {
if (selectedFilter == csvFilter) {
f = new File(f.getPath() + ".csv");
} else if (selectedFilter == txtFilter) {
f = new File(f.getPath() + ".txt");
}
}
}
}
});
}
}
class SafeOverwriteFileChooser extends JFileChooser {
private static final String DEFAULT_CONFIRM_TITLE = "Confirm";
private static final String DEFAULT_CONFIRM_MESSAGE = "The entry ''{0}'' already exists.\nDo you want to replace it?";
private String confirmTitle;
private String confirmMessage;
public SafeOverwriteFileChooser() {
this(DEFAULT_CONFIRM_TITLE, DEFAULT_CONFIRM_MESSAGE);
}
public SafeOverwriteFileChooser(String confirmTitle, String confirmMessage) {
this.confirmTitle = confirmTitle;
this.confirmMessage = confirmMessage;
}
public void approveSelection() {
if (getDialogType() == SAVE_DIALOG) {
File f = getSelectedFile();
if (f.exists()) {
String msg = MessageFormat.format(confirmMessage, new Object[]{f});
int r = JOptionPane.showConfirmDialog(this, msg, confirmTitle, JOptionPane.YES_NO_OPTION);
if (r == JOptionPane.NO_OPTION) {
// Returns without approve the selection.
return;
}
}
} else {
try {
FileWriter file = new FileWriter(f, true);
PrintWriter out = new PrintWriter(file);
out.println(TArea.getJarea().getText() + "\n" + "Tot entrate: " + TArea.getfield9().getText() + "\nTot uscite: " + TArea.getfield10().getText() + "\nTOT: " + TArea.getfield15().getText() + "\nTot operazioni: " + TArea.getfield16().getText());
out.close();
} catch (IOException e) {
JOptionPane.showMessageDialog(fc, e, "ERRORE", JOptionPane.ERROR_MESSAGE);
}
}
// Approves the selection normally.
super.approveSelection();
}
}
codice:
/media/MATTE/Banca/src/banca/FileChooserArea.java:70: cannot find symbol
symbol : variable f
location: class banca.SafeOverwriteFileChooser
FileWriter file = new FileWriter(f, true);
/media/MATTE/Banca/src/banca/FileChooserArea.java:75: cannot find symbol
symbol : variable fc
location: class banca.SafeOverwriteFileChooser
JOptionPane.showMessageDialog(fc, e, "ERRORE", JOptionPane.ERROR_MESSAGE);
2 errors
/media/MATTE/Banca/nbproject/build-impl.xml:528: The following error occurred while executing this line:
/media/MATTE/Banca/nbproject/build-impl.xml:261: Compile failed; see the compiler error output for details.