public ParameterConfigurationPanel(String name, SensorType type) { this.type = type; this.name = name; setLayout(new BoxLayout(this, BoxLayout.Y_AXIS)); add(new Label(name)); typeList = new JComboBox(controlTypes); typeList.addActionListener( new AbstractAction() { public void actionPerformed(ActionEvent e) { setType((String) typeList.getSelectedItem()); configure(); } }); add(typeList); add(new Label("channel")); channel = new JSpinner(new SpinnerNumberModel(1, 1, 16, 1)); channel.setValue(1); channel.addChangeListener( new ChangeListener() { public void stateChanged(ChangeEvent e) { configure(); } }); add(channel); add(new Label("cc")); cc = new JSpinner(new SpinnerNumberModel(21, 1, 127, 1)); cc.setValue(21); cc.addChangeListener( new ChangeListener() { public void stateChanged(ChangeEvent e) { configure(); } }); add(cc); add(new Label("min")); min = new JSpinner(); min.addChangeListener( new ChangeListener() { public void stateChanged(ChangeEvent e) { configure(); } }); add(min); add(new Label("max")); max = new JSpinner(); max.setValue(127); max.addChangeListener( new ChangeListener() { public void stateChanged(ChangeEvent e) { configure(); } }); add(max); JButton button = new JButton("invert"); button.addActionListener( new AbstractAction() { public void actionPerformed(ActionEvent e) { int saved = (Integer) min.getValue(); min.setValue(max.getValue()); max.setValue(saved); } }); add(button); modeList = new JComboBox(eventhandler.getModeNames()); modeList.addActionListener( new AbstractAction() { public void actionPerformed(ActionEvent e) { configure(); } }); add(modeList); }
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"); }