+ /**
+ * Builds the transpose dialog.
+ * @param pane The container to put the dialog in.
+ * @param tracks A array containing miditracks.
+ */
+ private void makeTransposeDialog(Container pane, Track[] tracks) {
+
+ setTitle("Transpose");
+ // create contents of dialog and add to container
+ // track edit-intervall labels
+ labelA = new JLabel("Measure", JLabel.CENTER);
+ pane.add(labelA);
+ labelB = new JLabel("Beat", JLabel.CENTER);
+ pane.add(labelB);
+ labelC = new JLabel("Tick", JLabel.CENTER);
+ pane.add(labelC);
+ // start and end labels
+ labelD = new JLabel("Start at:", JLabel.RIGHT);
+ pane.add(labelD);
+ labelE = new JLabel("End at:", JLabel.RIGHT);
+ pane.add(labelE);
+ // oktave inputvalue labels
+ labelF = new JLabel("Octaves", JLabel.LEFT);
+ pane.add(labelF);
+ labelG = new JLabel("1/2 octaves", JLabel.LEFT);
+ pane.add(labelG);
+ // what track to edig label
+ labelH = new JLabel("Track to edit:", JLabel.CENTER);
+ pane.add(labelH);
+ // combobox representing the tracks
+ trackListA = new JComboBox();
+ for (int i = 1; i <= tracks.length; i++) trackListA.addItem("Track " + i);
+ pane.add(trackListA);
+ // start inputvaluefields
+ textFieldA = new JTextField();
+ pane.add(textFieldA);
+ textFieldB = new JTextField();
+ pane.add(textFieldB);
+ textFieldC = new JTextField();
+ pane.add(textFieldC);
+ // end inputvaluefield
+ textFieldD = new JTextField();
+ pane.add(textFieldD);
+ textFieldE = new JTextField();
+ pane.add(textFieldE);
+ textFieldF = new JTextField();
+ pane.add(textFieldF);
+ // the radiobuttonlists inputvaluefields
+ textFieldG = new JTextField();
+ pane.add(textFieldG);
+ textFieldH = new JTextField();
+ pane.add(textFieldH);
+ // the radiobuttonlist with associating titles
+ JRadioButton up = new JRadioButton("Change up");
+ up.setSelected(true);
+ pane.add(up);
+ JRadioButton down = new JRadioButton("Change down");
+ pane.add(down);
+ // a buttongroup for the radiobuttons
+ ButtonGroup group = new ButtonGroup();
+ group.add(up);
+ group.add(down);
+ // ok and cancelbutton
+ cancelButton = new JButton("Cancel");
+ pane.add(cancelButton);
+ okButton = new JButton("OK");
+ pane.add(okButton);
+
+ // set bounds of track edit-intervall labels
+ labelA.setBounds(90, 70, 50, 20);
+ labelB.setBounds(155, 70, 50, 20);
+ labelC.setBounds(220, 70, 50, 20);
+ // set bounds of start and end labels
+ labelD.setBounds(30, 90, 60, 20);
+ labelE.setBounds(30, 110, 60, 20);
+ // set bounds of octave inputvaluefields
+ labelF.setBounds(210, 150, 80, 20);
+ labelG.setBounds(210, 175, 100, 20);
+ // set bounds of trackslist label
+ labelH.setBounds(30, 30, 100, 20);
+ // set bounds of start inputvaluefields
+ textFieldA.setBounds(90, 90, 50, 20);
+ textFieldB.setBounds(155, 90, 50, 20);
+ textFieldC.setBounds(220, 90, 50, 20);
+ // set bounds of end inputvaluefield
+ textFieldD.setBounds(90, 110, 50, 20);
+ textFieldE.setBounds(155, 110, 50, 20);
+ textFieldF.setBounds(220, 110, 50, 20);
+ // set bounds of octave inputvaluefields
+ textFieldG.setBounds(170, 150, 35, 20);
+ textFieldH.setBounds(170, 175, 35, 20);
+ // set bounds of radiobuttonlist items
+ up.setBounds(30, 150, 100, 20);
+ down.setBounds(30, 175, 120, 20);
+ // set bounds of tracklist
+ trackListA.setBounds(145, 30, 120, 20);
+ // set bounds of ok and cancelbutton
+ cancelButton.setBounds(75, 215, 80, 30);
+ okButton.setBounds(195, 215, 60, 30);
+
+ setResizable(false);
+ pack();
+ setSize(340,300);
+ setLocationRelativeTo(Moosique.getGUI());
+ setVisible(true);
+ }