From 03b1e0e873a70991ebeaf67d61ecac44f8b19102 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Bj=C3=B6rn=20Lanneskog?= Date: Mon, 12 May 2003 17:24:35 +0000 Subject: [PATCH] *** empty log message *** --- MooMenu.java | 84 ++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 81 insertions(+), 3 deletions(-) diff --git a/MooMenu.java b/MooMenu.java index 141fd93..892e765 100644 --- a/MooMenu.java +++ b/MooMenu.java @@ -3,6 +3,7 @@ import javax.swing.*; import javax.swing.filechooser.*; import java.awt.event.*; import java.io.*; +import java.awt.*; /** * Moosiques GUI representing a menubar, menus and menuitems @@ -12,6 +13,8 @@ import java.io.*; public class MooMenu extends JMenuBar implements ActionListener { private JMenu file, edit, playback, music, help; + private JFileChooser chooser; + private File directory; /** * Creates the menu bar. @@ -106,6 +109,16 @@ public class MooMenu extends JMenuBar implements ActionListener { return item; } + /** + * creates a JFrame popupmenu, containing diffrent choices + * @param title the title of the JFrame + * @param labelone the first label of two + * @param labeltwo the second label of two + * @return trackframe the JFrame to popup....ffaaaaaaaaaaaaaaaan! + */ + + + /** * checks if the fileformat is compatible with our program * @param f the file to check @@ -126,19 +139,29 @@ public class MooMenu extends JMenuBar implements ActionListener { if(command == "New") { Moosique.clearSequence(); } else if (command == "Open...") { - JFileChooser chooser = new JFileChooser(); + if (directory != null) { + chooser = new JFileChooser(directory); + } else { + chooser = new JFileChooser(); + } chooser.addChoosableFileFilter(new MidiFileFilter()); int returnVal = chooser.showOpenDialog(this); if(returnVal == JFileChooser.APPROVE_OPTION && isMidiFile(chooser.getSelectedFile())) { + directory = chooser.getSelectedFile().getParentFile(); Moosique.load(chooser.getSelectedFile().getAbsolutePath()); } } else if (command == "Save") { Moosique.save(); } else if (command == "Save as...") { - JFileChooser chooser = new JFileChooser(); + if (directory != null) { + chooser = new JFileChooser(directory); + } else { + chooser = new JFileChooser(); + } chooser.addChoosableFileFilter(new MidiFileFilter()); int returnVal = chooser.showSaveDialog(this); if(returnVal == JFileChooser.APPROVE_OPTION && isMidiFile(chooser.getSelectedFile())) { + directory = chooser.getSelectedFile().getParentFile(); Moosique.saveAs(chooser.getSelectedFile().getAbsolutePath()); } } else if (command == "Exit") { @@ -164,16 +187,69 @@ public class MooMenu extends JMenuBar implements ActionListener { } else if (command == "Jump...") { } else if (command == "Add track...") { + + JFrame frame = new JFrame("Add track"); + JPanel panel = new JPanel(); + //panel.setPreferredSize(new Dimension(250,400)); + panel.setLayout(new GridLayout(2,2)); + frame.setContentPane(panel); + + JLabel top = new JLabel("Name of track", JLabel.CENTER); + top.setFont(new Font("Times new Roman", Font.BOLD, 10)); + panel.add(top); + + JTextField field = new JTextField(5); + panel.add(field); + + JLabel bottom = new JLabel("Add it after",JLabel.CENTER); + bottom.setFont(new Font("Times new Roman", Font.BOLD, 10)); + panel.add(bottom); + + JComboBox tracklist = new JComboBox(); + panel.add(tracklist); + + + frame.pack(); + frame.show(); + Moosique.getSequence().createTrack(); + } else if (command == "Delete track...") { + + JFrame frame = new JFrame("Delete track"); + JPanel panel = new JPanel(); + panel.setPreferredSize(new Dimension(250,400)); + frame.setContentPane(panel); + + frame.pack(); + frame.show(); + /* Let the user select a track from a list. seq = Moosique.getSequence(); seq.deleteTrack(seq.getTracks()[NUMBER]); */ } else if (command == "Copy track...") { + JFrame frame = new JFrame("Copy track"); + JPanel panel = new JPanel(); + panel.setPreferredSize(new Dimension(250,400)); + frame.setContentPane(panel); + + frame.pack(); + frame.show(); + } else if (command == "Move track...") { + JFrame frame = new JFrame("Move track"); + JPanel panel = new JPanel(); + panel.setPreferredSize(new Dimension(250,400)); + panel.setLayout(new GridLayout(2,2)); + frame.setContentPane(panel); + + frame.pack(); + frame.show(); + + } else if (command == "Insert measure...") { } else if (command == "Delete measure...") { @@ -216,4 +292,6 @@ public class MooMenu extends JMenuBar implements ActionListener { return "MIDI files"; } } -} \ No newline at end of file + + +} -- 2.39.2