imx.lib.gui
Class FileMenuHandler

java.lang.Object
  extended by imx.lib.gui.FileMenuHandler

public abstract class FileMenuHandler
extends java.lang.Object

This class helps to create a file menu which can open and store application files. It also keeps track of files used before and puts them in an "Open Recent" menu.

// example of usage
JMenu menuFile = new JMenu("File");

FileHandler fh = new FileHandler(frame, "Application Files (*.apf)", "apf", 10) {
public void open(InputStream in) {
// read file in here
}
public void save(OutputStream out) {
// write file out here
}
};

menuFile.add(fh.getOpenMenu());
menuFile.add(fh.getOpenRecentMenu());
menuFile.add(fh.getSaveMenu());
menuFile.add(fh.getSaveAsMenu());


Nested Class Summary
static class FileMenuHandler.OpenException
           
static class FileMenuHandler.SaveException
           
 
Constructor Summary
FileMenuHandler(java.awt.Component parent, java.lang.String fileDescription, java.lang.String fileExtension, int historySize)
           
 
Method Summary
 boolean canOpen()
           
 java.io.File getFile()
           
 java.lang.String getFilePath()
           
 javax.swing.JMenuItem getOpenMenu()
           
 javax.swing.JMenuItem getOpenRecentMenu()
           
 javax.swing.JMenuItem getSaveAsMenu()
           
 javax.swing.JMenuItem getSaveMenu()
           
 void open()
           
abstract  void open(java.io.InputStream in)
           
 void save()
           
abstract  void save(java.io.OutputStream out)
           
 void saveAs()
           
 void setFile(java.io.File file)
           
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

FileMenuHandler

public FileMenuHandler(java.awt.Component parent,
                       java.lang.String fileDescription,
                       java.lang.String fileExtension,
                       int historySize)
Parameters:
parent - The window, that is blocked by the error message boxes.
fileDescription - The description for the file filter.
fileExtension - The extension of the file filter.
historySize - How many recently used files will be remebered in the "Open Recently" menu.
Method Detail

getOpenMenu

public javax.swing.JMenuItem getOpenMenu()

getOpenRecentMenu

public javax.swing.JMenuItem getOpenRecentMenu()

getSaveMenu

public javax.swing.JMenuItem getSaveMenu()

getSaveAsMenu

public javax.swing.JMenuItem getSaveAsMenu()

save

public void save()
          throws FileMenuHandler.SaveException
Throws:
FileMenuHandler.SaveException

saveAs

public void saveAs()
            throws FileMenuHandler.SaveException
Throws:
FileMenuHandler.SaveException

open

public void open()
          throws FileMenuHandler.OpenException
Throws:
FileMenuHandler.OpenException

getFile

public java.io.File getFile()

setFile

public void setFile(java.io.File file)

getFilePath

public java.lang.String getFilePath()

save

public abstract void save(java.io.OutputStream out)

open

public abstract void open(java.io.InputStream in)

canOpen

public boolean canOpen()