16. januar 2008 - 19:44
Der er
1 kommentar og
1 løsning
FileChooser promt for override hvis fil eksisterer
Jeg bruger en FileChooser til at få et filnavn på en fil der skal gemmes data til, men hvis filen eksistere vil jeg have at der kommer en messagebox frem og spørger om man vil overskrive filen. Men det gør FileChooser ikke, hvordan kan jeg implementere det?
17. januar 2008 - 01:47
#1
Til inspiration:
package january;
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import javax.swing.*;
public class AskFirst extends JFrame implements ActionListener {
private JButton save;
public AskFirst() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
getContentPane().setLayout(new BorderLayout());
save = new JButton("Save");
save.addActionListener(this);
getContentPane().add(save, BorderLayout.CENTER);
pack();;
}
public void actionPerformed(ActionEvent ev) {
JFileChooser chooser = new JFileChooser(System.getProperty("user.home"));
chooser.setFileSelectionMode(JFileChooser.FILES_ONLY);
if(chooser.showOpenDialog(this) == JFileChooser.APPROVE_OPTION) {
File f = chooser.getSelectedFile();
if(f.exists()) {
if(JOptionPane.showOptionDialog(this, "Want to overwrite?", "Confirm dialog", JOptionPane.YES_NO_OPTION,
JOptionPane.QUESTION_MESSAGE, null, new String[] { "Yes", "No"}, "No") == 0) {
JOptionPane.showMessageDialog(this, "Existing file " + f.getAbsoluteFile() + " saved");
} else {
JOptionPane.showMessageDialog(this, "Existing file " + f.getAbsoluteFile() + " *NOT* saved");
}
} else {
JOptionPane.showMessageDialog(this, "New file " + f.getAbsoluteFile() + " saved");
}
}
}
public static void main(String[] args) {
AskFirst f = new AskFirst();
f.setVisible(true);
}
}