Select Git revision
OpenMenuItem.java

Nils Vreman authored
OpenMenuItem.java 1.40 KiB
package gui.menu;
import gui.ScheduLearn;
import model.Status;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import java.io.FileNotFoundException;
import javax.swing.JFileChooser;
import javax.swing.JMenuItem;
import javax.swing.filechooser.FileFilter;
import javax.swing.filechooser.FileNameExtensionFilter;
public abstract class OpenMenuItem extends JMenuItem implements ActionListener {
protected ScheduLearn gui;
protected Status status;
public OpenMenuItem(ScheduLearn gui, Status status, String title) {
super(title);
this.gui = gui;
this.status = status;
addActionListener(this);
}
protected abstract void openAction(String path) throws FileNotFoundException;
protected abstract int openDialog(JFileChooser fileChooser);
public void actionPerformed(ActionEvent e) {
JFileChooser fileChooser = new JFileChooser(".");
FileFilter filter = new FileNameExtensionFilter("ScheduLearn files", "sl");
fileChooser.setFileFilter(filter);
int option = openDialog(fileChooser);
if (option == fileChooser.APPROVE_OPTION) {
File file = fileChooser.getSelectedFile();
try {
openAction(file.toString());
} catch (FileNotFoundException error) {
status.setStatus(error.getMessage());
}
}
}
}