From 2008b066f26ae603b84ff46807e3dbd30e86c7e8 Mon Sep 17 00:00:00 2001 From: Einar Pehrson Date: Wed, 7 May 2003 11:50:09 +0000 Subject: [PATCH] fixed filefilter --- MooMenu.java | 39 +++++++++++++++++++++------------------ 1 file changed, 21 insertions(+), 18 deletions(-) diff --git a/MooMenu.java b/MooMenu.java index 65d7b4f..aaccb35 100644 --- a/MooMenu.java +++ b/MooMenu.java @@ -1,12 +1,12 @@ import javax.swing.*; +import javax.swing.filechooser.*; import java.awt.event.*; -import javax.swing.JComponent.*; -import javax.swing.filechooser.FileFilter; +import java.io.*; -public class MooMenu extends JMenuBar implements ActionListener{ - - // Ett något smidigare sätt, kanske.. / EP +public class MooMenu extends JMenuBar implements ActionListener { + private JMenu file, edit, playback, track, help; + public MooMenu() { file = makeMenu("File", KeyEvent.VK_F); add(file); @@ -79,23 +79,19 @@ public class MooMenu extends JMenuBar implements ActionListener{ } else if (command == "Open...") { JFileChooser chooser = new JFileChooser(); - // här måste jag lägga till en filefilter - // som bestämmer vilka filtyper som får öppnas - + chooser.addChoosableFileFilter(new MidiFileFilter()); int returnVal = chooser.showOpenDialog(this); if(returnVal == JFileChooser.APPROVE_OPTION) { System.out.println("You chose to open this file: " + chooser.getSelectedFile().getName()); - } + } } else if (command == "Save") { } else if (command == "Save as...") { JFileChooser chooser = new JFileChooser(); - // här måste jag lägga till en filefilter - // som bestämmer vilka filtyper som får sparas - + chooser.addChoosableFileFilter(new MidiFileFilter()); int returnVal = chooser.showSaveDialog(this); if(returnVal == JFileChooser.APPROVE_OPTION) { System.out.println("You chose to open this file: " + @@ -146,10 +142,17 @@ public class MooMenu extends JMenuBar implements ActionListener{ } } - - private JMenu file; - private JMenu edit; - private JMenu playback; - private JMenu track; - private JMenu help; + class MidiFileFilter extends javax.swing.filechooser.FileFilter { + public boolean accept(File f) { + if(f != null) { + String extension = f.getName().substring(f.getName().lastIndexOf('.') + 1).toLowerCase(); + if (f.isDirectory() || extension == "mid") return true; + } + return false; + } + + public String getDescription() { + return "MIDI files"; + } + } } -- 2.39.2