Let's use the YamahaDX100 as an example of Device that uses a config panel:

    JRadioButton b1;
    JRadioButton b2;
    JRadioButton b3;
 
    /** Creates new YamahaTX81zDevice */
    public YamahaDX100Device ()
    {
    super ("Yamaha","DX21 / DX27 / DX100",null,infoText,"Brian Klock");
    }
 
    /** Constructor for for actual work. */
    public YamahaDX100Device(Preferences prefs) {
    this();
    this.prefs = prefs;
 
        //setSynthName("DX21");
        addDriver (new YamahaDX100BankDriver ());
        addDriver (new YamahaDX100SingleDriver ());
    setWhichSynth(21);
    }
 
    public JPanel config() {
    JPanel panel= new JPanel();
 
    panel.add(new JLabel("Choose a supported Synthesizer"));
    ButtonGroup bg= new ButtonGroup();
    b1 = new JRadioButton ("DX21",getWhichSynth()==21);
    b2 = new JRadioButton ("DX27",getWhichSynth()==27);
    b3 = new JRadioButton ("DX100",getWhichSynth()==100);
    b1.addItemListener(this);
    b2.addItemListener(this);
    b3.addItemListener(this);
 
    bg.add(b1);bg.add(b2);bg.add(b3);
    panel.add(b1);panel.add(b2);panel.add(b3);
 
    return panel;
    }
    public void itemStateChanged(ItemEvent e){
        if (e.getStateChange()!=ItemEvent.SELECTED) return;
    if (e.getItemSelectable()==b1) {setWhichSynth(21);setSynthName("DX21");}
    if (e.getItemSelectable()==b2) {setWhichSynth(27);setSynthName("DX27");}
    if (e.getItemSelectable()==b3) {setWhichSynth(100);setSynthName("DX100");}
    }
 
    /** Getter for whichSynth */
    public int getWhichSynth() {
    return prefs.getInt("whichSynth", 0);
    }
    /** Setter for whichSynth */
    public void setWhichSynth(int whichSynth) {
    prefs.putInt("whichSynth", whichSynth);
    }