Hi,
ich habe eine Methiode, um eine .bmp-datei über den JFileChooser zu laden und zu speichern. Allerdings habe ich da noch 2 Probleme.
1. Egal, ob ich auf laden oder speichern klicke in der Auswahl klicke, der JFileChooser zeigt mir den
Button "Speichern" an. Das laden funktioniert aber trotzdem.
2. Er überschreibt beim Speichern existierende Dateien ohne nachzufragen.
Hier noch die selbst erstellte Filterklasse, falls diese eine Rolle spielen sollte.
ich habe eine Methiode, um eine .bmp-datei über den JFileChooser zu laden und zu speichern. Allerdings habe ich da noch 2 Probleme.
1. Egal, ob ich auf laden oder speichern klicke in der Auswahl klicke, der JFileChooser zeigt mir den
Button "Speichern" an. Das laden funktioniert aber trotzdem.

2. Er überschreibt beim Speichern existierende Dateien ohne nachzufragen.
Java:
public static File loadsaveFile(String action)
{
JFileChooser chooser = new JFileChooser();
MyBMPFilter bmpfilter = new MyBMPFilter();
chooser.setDialogTitle("File Chooser");
chooser.setMultiSelectionEnabled(false);
chooser.setDragEnabled(false);
chooser.addChoosableFileFilter(bmpfilter);
int choice;
if(action == "save")
{
choice = chooser.showSaveDialog(new JFrame());
}
else
{
choice = chooser.showOpenDialog(new JFrame());
}
if(choice == JFileChooser.APPROVE_OPTION)
{
return chooser.getSelectedFile(); //pressing OK
}
if (choice == JFileChooser.CANCEL_OPTION)
{
return null; // cancel
}
return null;
Hier noch die selbst erstellte Filterklasse, falls diese eine Rolle spielen sollte.
Java:
public class MyBMPFilter extends FileFilter implements FilenameFilter
{
public boolean accept(File file)
{
if (file.isDirectory())
{ return true;
}
String filename = file.getName();
return filename.endsWith(".bmp");
}
public String getDescription()
{
return "*.bmp";
}
@Override
public boolean accept( File f, String s )
{
return s.toLowerCase().endsWith( ".bmp" );
}
}