public static void main(String[] args) { final JavaMixer sm = new JavaMixer(); final JFrame jf = new JFrame("Mixer Test"); final JPanel jp = new JPanel(); jf.add(jp); jp.add(sm.getTree()); jf.setSize(600, 500); jf.setVisible(true); jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); sm.getTree() .addTreeSelectionListener( e -> { TreePath path = e.getPath(); if (path.getLastPathComponent() instanceof ControlNode) { ControlNode controlNode = (ControlNode) path.getLastPathComponent(); if (!(controlNode.getControl() instanceof CompoundControl)) { if (jp.getComponentCount() > 1) jp.remove(1); jp.add(controlNode.getComponent(), 1); jp.repaint(); } } }); jp.add(sm.getPrefferedMasterVolume()); jp.add(sm.getPrefferedMasterVolume()); jp.add(sm.getPrefferedInputVolume()); jp.repaint(); sm.setMicrophoneInput(); sm.setMuteForMicrophoneOutput(); }