public void setup(boolean doPlay, boolean doPb, boolean doAt) { play.setSelected(doPlay); this.doPlay = doPlay; pb.setSelected(doPb); this.doPb = doPb; at.setSelected(doAt); this.doAt = doAt; configure(); }
public NotePlayerConfigurationPanel() { setLayout(new BoxLayout(this, BoxLayout.Y_AXIS)); JPanel panel = new JPanel(new MigLayout()); add(panel); play = new JCheckBox("Play notes", true); play.addActionListener( new AbstractAction() { public void actionPerformed(ActionEvent e) { doPlay = !doPlay; if (doPlay) { pb.setEnabled(true); at.setEnabled(true); } else { pb.setEnabled(false); at.setEnabled(false); } configure(); } }); panel.add(play, "wrap"); pb = new JCheckBox("Pitch Bend", false); pb.addActionListener( new AbstractAction() { public void actionPerformed(ActionEvent e) { doPb = !doPb; configure(); } }); panel.add(pb, "wrap"); at = new JCheckBox("Aftertouch", false); at.addActionListener( new AbstractAction() { public void actionPerformed(ActionEvent e) { doAt = !doAt; configure(); } }); panel.add(at, "wrap"); panel = new JPanel(new MigLayout()); add(panel); panel.add(new Label("Follow Mode"), "label"); JComboBox box = new JComboBox(sender.getFollowModes()); box.setSelectedItem(eventhandler.getConfigurationMode(getOperationMode()).getFollowMode()); box.addActionListener( new AbstractAction() { public void actionPerformed(ActionEvent e) { JComboBox box = (JComboBox) e.getSource(); String name = (String) box.getSelectedItem(); eventhandler.getConfigurationMode(getOperationMode()).setFollowMode(name); sender.setFollowMode(name); } }); panel.add(box, "wrap"); panel.add(new Label("Scale"), "label"); scale = new JComboBox(eventhandler.getScaleMapper().getScaleNames()); scale.setSelectedItem(eventhandler.getCurrentScale()); scale.addActionListener( new AbstractAction() { public void actionPerformed(ActionEvent e) { String scalename = (String) scale.getSelectedItem(); eventhandler.getScaleMapper(getOperationMode()).setScale(scalename); } }); panel.add(scale, "wrap"); panel.add(new Label("Basenote"), "label"); basenote = new JSpinner(new SpinnerNumberModel(1, 1, 127, 1)); basenote.setValue(eventhandler.getBaseNote()); basenote.addChangeListener( new ChangeListener() { public void stateChanged(ChangeEvent e) { Integer value = (Integer) basenote.getValue(); eventhandler.setBaseNote(getOperationMode(), value); } }); panel.add(basenote, "wrap"); }