Switch to javax.swing.JFileChooser from java.awt.FileDialog to make file filters work (a generic class for file filters was also implemented).
Store directory of the last opened file using the Java Preferences API to make JFileChooser act the same way as FileDialog in that regard, that is, the last directory is remembered between different executions.