]> ruin.nu Git - moosique.git/blob - MooMenu.java
bajs
[moosique.git] / MooMenu.java
1 import javax.swing.*;
2 import java.awt.event.*;
3 import javax.swing.JComponent.*;
4 import javax.swing.filechooser.FileFilter;
5
6 public class MooMenu extends JMenuBar implements ActionListener{
7         
8         //      Ett något smidigare sätt, kanske.. / EP
9         
10         public MooMenu() {
11                 file = makeMenu("File", KeyEvent.VK_F);
12                 add(file);
13                                 
14                 file.add(makeAccItem(file, "New", KeyEvent.VK_N));
15                 file.add(makeAccItem(file, "Open...", KeyEvent.VK_O));
16                 file.add(makeAccItem(file, "Save", KeyEvent.VK_S));
17                 file.add(makeItem(file, "Save as..."));
18                 file.add(makeAccItem(file, "Exit", KeyEvent.VK_Q));
19                 
20                 edit = makeMenu("Edit", KeyEvent.VK_E);
21                 add(edit);
22                 
23                 edit.add(makeAccItem(edit, "Copy", KeyEvent.VK_C));
24                 edit.add(makeAccItem(edit, "Cut", KeyEvent.VK_X));
25                 edit.add(makeAccItem(edit, "Paste", KeyEvent.VK_V));
26                 edit.add(makeAccItem(edit, "Select all", KeyEvent.VK_E));
27                 edit.add(makeAccItem(edit, "Invert selection", KeyEvent.VK_I));
28                 
29                 playback = makeMenu("Playback", KeyEvent.VK_P);
30                 add(playback);
31                 
32                 playback.add(makeAccItem(playback, "Play", KeyEvent.VK_SPACE));
33                 playback.add(makeAccItem(playback, "Pause", KeyEvent.VK_SPACE));
34                 playback.add(makeItem(playback, "Stop"));
35                 playback.add(makeItem(playback, "Jump..."));
36                 
37                 track = makeMenu("Track", KeyEvent.VK_T);
38                 add(track);
39                 
40                 track.add(makeAccItem(track, "Add", KeyEvent.VK_A));
41                 track.add(makeAccItem(track, "Delete", KeyEvent.VK_D));
42                 track.add(makeAccItem(track, "Copy track", KeyEvent.VK_Y));
43                 track.add(makeAccItem(track, "Move", KeyEvent.VK_M));
44                 
45                 help = makeMenu("Help", KeyEvent.VK_P);
46                 add(help);
47                 
48                 help.add(makeItem(help, "Contents"));
49                 help.add(makeItem(help, "Getting started"));
50                 help.add(makeItem(help, "About"));
51         }
52
53         private JMenu makeMenu(String name, int mnemonic) {
54                 JMenu menu = new JMenu(name);
55                 menu.setMnemonic(mnemonic);
56                 return menu;
57         }
58
59         private JMenuItem makeItem(JMenu menu, String name) {
60                 JMenuItem item = new JMenuItem(name);
61                 item.addActionListener(this);
62                 menu.add(item);
63                 return item;
64         }
65
66         private JMenuItem makeAccItem(JMenu menu, String name, int key) {
67                 JMenuItem item = new JMenuItem(name);
68                 item.setAccelerator(KeyStroke.getKeyStroke(key, ActionEvent.CTRL_MASK));
69                 item.addActionListener(this);
70                 menu.add(item);
71                 return item;
72         }
73         
74         public void actionPerformed(ActionEvent e) {
75                 String command = e.getActionCommand();
76                 
77                 if(command == "New") {
78                         
79                 } else if (command == "Open...") {
80                 
81                         JFileChooser chooser = new JFileChooser();
82                         // här måste jag lägga till en filefilter
83                         // som bestämmer vilka filtyper som får öppnas
84                         
85                         int returnVal = chooser.showOpenDialog(this);
86                         if(returnVal == JFileChooser.APPROVE_OPTION) {
87                         System.out.println("You chose to open this file: " +
88                         chooser.getSelectedFile().getName());
89                         }
90                 
91                 } else if (command == "Save") {
92                 
93                 } else if (command == "Save as...") {
94                 
95                         JFileChooser chooser = new JFileChooser();
96                         // här måste jag lägga till en filefilter
97                         // som bestämmer vilka filtyper som får sparas
98                         
99                         int returnVal = chooser.showSaveDialog(this);
100                         if(returnVal == JFileChooser.APPROVE_OPTION) {
101                         System.out.println("You chose to open this file: " +
102                         chooser.getSelectedFile().getName());
103                         }
104                 
105                 } else if (command == "Exit") {
106                 
107                 } else if (command == "Copy") {
108                 
109                 } else if (command == "Cut") {
110                 
111                 } else if (command == "Paste") {
112                 
113                 } else if (command == "Select all") {
114                 
115                 } else if (command == "Invert selection") {
116                 
117                 } else if (command == "Play") {
118                         JOptionPane.showMessageDialog(null, "playing");
119                 
120                 } else if (command == "Pause") {
121                 
122                 } else if (command == "Stop") {
123                 
124                 } else if (command == "Jump...") {
125                 
126                 } else if (command == "Add") {
127                 
128                 } else if (command == "Delete") {
129                 
130                 } else if (command == "Copy track") {
131                 
132                 } else if (command == "Move") {
133                 
134                 } else if (command == "Contents") {
135                         // contents to be filled in
136                         JOptionPane.showMessageDialog(this, "här kommer contents komma");
137                 
138                 } else if (command == "Getting started") {
139                         // getting started to be filled in
140                         JOptionPane.showMessageDialog(null, "här kommer getting started komma");
141                 
142                 } else if (command == "About") {
143                         // about to be filled in
144                         JOptionPane.showMessageDialog(null, "här kommer about att komma");
145                 
146                 }
147         }
148
149
150         private JMenu file;
151         private JMenu edit;
152         private JMenu playback;
153         private JMenu track;
154         private JMenu help;
155 }