import java.beans.*;
/*
- * The add dialog that pops up if the user clicks on the add track menuitem
+ * The GUI-class representing the add-, delete-, copy- or movetrack popup dialogs.
*
* @author Björn Lanneskog
*/
public class MooDialog extends JDialog {
- private JLabel name, whichtoedit;
- private JTextField textfield;
- private JComboBox trackList, trackLust;
- private JButton okbutton, cancelbutton;
+ private JLabel name, whichToEdit;
+ private JTextField textField;
+ private JComboBox trackListA, trackListB;
+ private JButton okButton, cancelButton;
public static final int ADD_TRACK = 1,
DELETE_TRACK = 2,
COPY_TRACK = 3,
MOVE_TRACK = 4;
/*
- * Creates the add dialog
+ * Create the parts that the dialogs have in common.
*/
public MooDialog(int type) {
super(Moosique.getGUI(), "Add track", false);
Container pane = getContentPane();
pane.setLayout(null);
-
+
Track[] tracks = Moosique.getSequence().getTracks();
switch (type) {
case ADD_TRACK:
-
+
+ // Create the content of the add dialog and put them in a container.
name = new JLabel("Name of track", JLabel.CENTER);
pane.add(name);
- textfield = new JTextField();
- pane.add(textfield);
- whichtoedit = new JLabel("Add after", JLabel.CENTER);
- pane.add(whichtoedit);
- trackList = new JComboBox();
- for (int i = 1; i <= tracks.length; i++) trackList.addItem("Track " + i);
- pane.add(trackList);
- cancelbutton = new JButton("Cancel");
- pane.add(cancelbutton);
- okbutton = new JButton("OK");
- pane.add(okbutton);
-
+ textField = new JTextField();
+ pane.add(textField);
+ whichToEdit = new JLabel("Add after", JLabel.CENTER);
+ pane.add(whichToEdit);
+ trackListA = new JComboBox();
+ for (int i = 1; i <= tracks.length; i++) trackListA.addItem("Track " + i);
+ pane.add(trackListA);
+ cancelButton = new JButton("Cancel");
+ pane.add(cancelButton);
+ okButton = new JButton("OK");
+ pane.add(okButton);
+
+ // Set the layout properties of the dialog.
name.setBounds(50, 10, 100, 20);
- textfield.setBounds(40, 35, 120, 20);
- whichtoedit.setBounds(50, 70, 100, 20);
- trackList.setBounds(40, 95, 120, 20);
- cancelbutton.setBounds(10, 150, 80, 30);
- okbutton.setBounds(120, 150, 60, 30);
+ textField.setBounds(40, 35, 120, 20);
+ whichToEdit.setBounds(50, 70, 100, 20);
+ trackListA.setBounds(40, 95, 120, 20);
+ cancelButton.setBounds(10, 150, 80, 30);
+ okButton.setBounds(120, 150, 60, 30);
setLocation((Toolkit.getDefaultToolkit().getScreenSize().width - this.getWidth()) / 2,
(Toolkit.getDefaultToolkit().getScreenSize().height - this.getHeight()) / 2);
break;
case DELETE_TRACK:
-
- whichtoedit = new JLabel("Delete track", JLabel.CENTER);
- pane.add(whichtoedit);
- trackList = new JComboBox();
- for (int i = 1; i <= tracks.length; i++) trackList.addItem("Track " + i);
- pane.add(trackList);
- cancelbutton = new JButton("Cancel");
- pane.add(cancelbutton);
- okbutton = new JButton("OK");
- pane.add(okbutton);
-
- whichtoedit.setBounds(50, 10, 100, 20);
- trackList.setBounds(40, 35, 120, 20);
- cancelbutton.setBounds(10, 90, 80, 30);
- okbutton.setBounds(120, 90, 60, 30);
+
+ // Create the contents of the delete dialog and put them in a container.
+ whichToEdit = new JLabel("Delete track", JLabel.CENTER);
+ pane.add(whichToEdit);
+ trackListA = new JComboBox();
+ for (int i = 1; i <= tracks.length; i++) trackListA.addItem("Track " + i);
+ pane.add(trackListA);
+ cancelButton = new JButton("Cancel");
+ pane.add(cancelButton);
+ okButton = new JButton("OK");
+ pane.add(okButton);
+
+ // Set the layout properties of the dialog.
+ whichToEdit.setBounds(50, 10, 100, 20);
+ trackListA.setBounds(40, 35, 120, 20);
+ cancelButton.setBounds(10, 90, 80, 30);
+ okButton.setBounds(120, 90, 60, 30);
setLocation((Toolkit.getDefaultToolkit().getScreenSize().width - this.getWidth()) / 2,
(Toolkit.getDefaultToolkit().getScreenSize().height - this.getHeight()) / 2);
case COPY_TRACK:
+ // Create the content of the copy dialog and put them in a container.
name = new JLabel("Track to copy", JLabel.CENTER);
pane.add(name);
- trackLust = new JComboBox();
- for (int i = 1; i <= tracks.length; i++) trackLust.addItem("Track " + i);
- pane.add(trackLust);
- whichtoedit = new JLabel("Insert after", JLabel.CENTER);
- pane.add(whichtoedit);
- trackList = new JComboBox();
- for (int i = 1; i <= tracks.length; i++) trackList.addItem("Track " + i);
- pane.add(trackList);
- cancelbutton = new JButton("Cancel");
- pane.add(cancelbutton);
- okbutton = new JButton("OK");
- pane.add(okbutton);
-
+ trackListA = new JComboBox();
+ for (int i = 1; i <= tracks.length; i++) trackListA.addItem("Track " + i);
+ pane.add(trackListA);
+ whichToEdit = new JLabel("Insert after", JLabel.CENTER);
+ pane.add(whichToEdit);
+ trackListB = new JComboBox();
+ for (int i = 1; i <= tracks.length; i++) trackListB.addItem("Track " + i);
+ pane.add(trackListB);
+ cancelButton = new JButton("Cancel");
+ pane.add(cancelButton);
+ okButton = new JButton("OK");
+ pane.add(okButton);
+
+ // Set the layout properties of the dialog.
name.setBounds(50, 10, 100, 20);
- trackLust.setBounds(40, 35, 120, 20);
- whichtoedit.setBounds(50, 70, 100, 20);
- trackList.setBounds(40, 95, 120, 20);
- cancelbutton.setBounds(10, 150, 80, 30);
- okbutton.setBounds(120, 150, 60, 30);
+ trackListA.setBounds(40, 35, 120, 20);
+ whichToEdit.setBounds(50, 70, 100, 20);
+ trackListB.setBounds(40, 95, 120, 20);
+ cancelButton.setBounds(10, 150, 80, 30);
+ okButton.setBounds(120, 150, 60, 30);
setLocation((Toolkit.getDefaultToolkit().getScreenSize().width - this.getWidth()) / 2,
(Toolkit.getDefaultToolkit().getScreenSize().height - this.getHeight()) / 2);
case MOVE_TRACK:
+ // Create the content of the move dialog and put them in a container.
name = new JLabel("Track to move", JLabel.CENTER);
pane.add(name);
- trackLust = new JComboBox();
- for (int i = 1; i <= tracks.length; i++) trackLust.addItem("Track " + i);
- pane.add(trackLust);
- whichtoedit = new JLabel("Insert after", JLabel.CENTER);
- pane.add(whichtoedit);
- trackList = new JComboBox();
- for (int i = 1; i <= tracks.length; i++) trackList.addItem("Track " + i);
- pane.add(trackList);
- cancelbutton = new JButton("Cancel");
- pane.add(cancelbutton);
- okbutton = new JButton("OK");
- pane.add(okbutton);
-
+ trackListA = new JComboBox();
+ for (int i = 1; i <= tracks.length; i++) trackListA.addItem("Track " + i);
+ pane.add(trackListA);
+ whichToEdit = new JLabel("Insert after", JLabel.CENTER);
+ pane.add(whichToEdit);
+ trackListB = new JComboBox();
+ for (int i = 1; i <= tracks.length; i++) trackListB.addItem("Track " + i);
+ pane.add(trackListB);
+ cancelButton = new JButton("Cancel");
+ pane.add(cancelButton);
+ okButton = new JButton("OK");
+ pane.add(okButton);
+
+ // Set the layout properties of the dialog.
name.setBounds(40, 10, 120, 20);
- trackLust.setBounds(40, 35, 120, 20);
- whichtoedit.setBounds(50, 70, 100, 20);
- trackList.setBounds(40, 95, 120, 20);
- cancelbutton.setBounds(10, 150, 80, 30);
- okbutton.setBounds(120, 150, 60, 30);
+ trackListA.setBounds(40, 35, 120, 20);
+ whichToEdit.setBounds(50, 70, 100, 20);
+ trackListB.setBounds(40, 95, 120, 20);
+ cancelButton.setBounds(10, 150, 80, 30);
+ okButton.setBounds(120, 150, 60, 30);
setLocation((Toolkit.getDefaultToolkit().getScreenSize().width - this.getWidth()) / 2,
(Toolkit.getDefaultToolkit().getScreenSize().height - this.getHeight()) / 2);
break;
}
}
-
+
+
private MooNote note;
private JOptionPane optionPane;
private JTextField pitch;
private JTextField velocity;
private JTextField length;
-
+
/**
* Creates a new note preference dialog.
* @param mn the note that will be graphically represented