Buggy code:
public class OutputConfigurationFrame extends JFrame implements UpDownDeleteNotifiable { private Wekinator w ; private int numOutputs = 0 ; private ArrayList < JSeparator > separators = new ArrayList < > ( ) ; private ArrayList < OutputConfigRow > outputPanels = new ArrayList < > ( ) ; private ArrayList < UpDownDeleteGUI > upDownDeletePanels = new ArrayList < > ( ) ; private ArrayList < JPanel > outputParentPanels = new ArrayList < > ( ) ; private int highestOutputNumber = 1 ; private String baseName = "output" ; private OutputConfigurationFrame . OutputConfigurationReceiver outputGroupReceiver = null ; public OutputConfigurationFrame ( ) { } public OutputConfigurationFrame ( Wekinator w , String msg , String host , int port , int numOutputs , List < OSCOutput > existingOutputs , String [ ] currentNames , String baseName , ModelBuilder [ ] modelBuilders , OutputConfigurationFrame . OutputConfigurationReceiver recv ) { } private void addPanels ( int howMany , List < OSCOutput > existingOutputs , String [ ] names , ModelBuilder [ ] modelBuilders ) { } private void addOutputPanel ( String name , OSCOutput output , ModelBuilder mb ) { } private void swap ( int id1 , int id2 ) { } @ Override public void up ( int id ) { } @ Override public void down ( int id ) { } @ Override public void delete ( int id ) { } private void resetButtonEnabledStates ( ) { } private void updateIndividualOutputs ( String name ) { } @ SuppressWarnings ( "unchecked" ) private void initComponents ( ) { panelTop = new JPanel ( ) ; jLabel1 = new JLabel ( ) ; textOSCMessage = new JTextField ( ) ; jLabel28 = new JLabel ( ) ; textHost = new JTextField ( ) ; jLabel29 = new JLabel ( ) ; textPort = new JTextField ( ) ; scrollOutputsList = new JScrollPane ( ) ; panelOutputsContainer = new JPanel ( ) ; jPanel4 = new JPanel ( ) ; gUIUpDownDelete1 = new wekimini . gui . UpDownDeleteGUI ( ) ; gUIOSCOutputPanel1 = new wekimini . gui . OutputConfigRow ( ) ; jSeparator2 = new JSeparator ( ) ; jPanel3 = new JPanel ( ) ; gUIUpDownDelete2 = new wekimini . gui . UpDownDeleteGUI ( ) ; gUIOSCOutputPanel2 = new wekimini . gui . OutputConfigRow ( ) ; panelButtons = new JPanel ( ) ; buttonAddGroup = new JButton ( ) ; buttonCancel = new JButton ( ) ; buttonSendTestMessage = new JButton ( ) ; buttonAdd = new JButton ( ) ; <START_BUG> setDefaultCloseOperation ( WindowConstants . EXIT_ON_CLOSE ) ; <END_BUG> setTitle ( "Customise<seq2seq4repair_space>Output<seq2seq4repair_space>Types" ) ; getContentPane ( ) . setLayout ( new BoxLayout ( getContentPane ( ) , BoxLayout . Y_AXIS ) ) ; panelTop . setBackground ( new Color ( 255 , 255 , 255 ) ) ; panelTop . setMaximumSize ( new Dimension ( 32767 , 76 ) ) ; panelTop . setMinimumSize ( new Dimension ( 664 , 76 ) ) ; panelTop . setPreferredSize ( new Dimension ( 675 , 76 ) ) ; jLabel1 . setText ( "OSC<seq2seq4repair_space>message:" ) ; textOSCMessage . setText ( "//Wek//outputs_1//" ) ; textOSCMessage . addActionListener ( new ActionListener ( ) { public void actionPerformed ( ActionEvent evt ) { textOSCMessageActionPerformed ( evt ) ; } } ) ; jLabel28 . setText ( "Host<seq2seq4repair_space>(IP<seq2seq4repair_space>address<seq2seq4repair_space>or<seq2seq4repair_space>name):" ) ; textHost . setText ( "localhost" ) ; jLabel29 . setText ( "Port:" ) ; textPort . setText ( "6453" ) ; textPort . addKeyListener ( new KeyAdapter ( ) { public void keyTyped ( KeyEvent evt ) { textPortKeyTyped ( evt ) ; } } ) ; GroupLayout panelTopLayout = new GroupLayout ( panelTop ) ; panelTop . setLayout ( panelTopLayout ) ; panelTopLayout . setHorizontalGroup ( panelTopLayout . createParallelGroup ( GroupLayout . Alignment . LEADING ) . addGroup ( panelTopLayout . createSequentialGroup ( ) . addContainerGap ( ) . addGroup ( panelTopLayout . createParallelGroup ( GroupLayout . Alignment . LEADING ) . addGroup ( panelTopLayout . createSequentialGroup ( ) . addComponent ( jLabel1 ) . addPreferredGap ( LayoutStyle . ComponentPlacement . RELATED ) . addComponent ( textOSCMessage ) ) . addGroup ( panelTopLayout . createSequentialGroup ( ) . addComponent ( jLabel28 ) . addPreferredGap ( LayoutStyle . ComponentPlacement . RELATED ) . addComponent ( textHost , GroupLayout . PREFERRED_SIZE , 321 , GroupLayout . PREFERRED_SIZE ) . addPreferredGap ( LayoutStyle . ComponentPlacement . UNRELATED ) . addComponent ( jLabel29 ) . addGap ( 0 , 0 , 0 ) . addComponent ( textPort , GroupLayout . DEFAULT_SIZE , 130 , Short . MAX_VALUE ) ) ) . addContainerGap ( ) ) ) ; panelTopLayout . setVerticalGroup ( panelTopLayout . createParallelGroup ( GroupLayout . Alignment . LEADING ) . addGroup ( panelTopLayout . createSequentialGroup ( ) . addContainerGap ( ) . addGroup ( panelTopLayout . createParallelGroup ( GroupLayout . Alignment . BASELINE ) . addComponent ( jLabel1 ) . addComponent ( textOSCMessage , GroupLayout . PREFERRED_SIZE , GroupLayout . DEFAULT_SIZE , GroupLayout . PREFERRED_SIZE ) ) . addGap ( 0 , 0 , 0 ) . addGroup ( panelTopLayout . createParallelGroup ( GroupLayout . Alignment . BASELINE ) . addComponent ( jLabel28 ) . addComponent ( textHost , GroupLayout . PREFERRED_SIZE , GroupLayout . DEFAULT_SIZE , GroupLayout . PREFERRED_SIZE ) . addComponent ( textPort , GroupLayout . PREFERRED_SIZE , GroupLayout . DEFAULT_SIZE , GroupLayout . PREFERRED_SIZE ) . addComponent ( jLabel29 ) ) . addContainerGap ( 14 , Short . MAX_VALUE ) ) ) ; getContentPane ( ) . add ( panelTop ) ; panelOutputsContainer . setLayout ( new BoxLayout ( panelOutputsContainer , BoxLayout . Y_AXIS ) ) ; jPanel4 . setLayout ( new BoxLayout ( jPanel4 , BoxLayout . LINE_AXIS ) ) ; jPanel4 . add ( gUIUpDownDelete1 ) ; jPanel4 . add ( gUIOSCOutputPanel1 ) ; panelOutputsContainer . add ( jPanel4 ) ; jSeparator2 . setBackground ( new Color ( 255 , 255 , 255 ) ) ; jSeparator2 . setForeground ( new Color ( 0 , 0 , 0 ) ) ;

Fix:
setDefaultCloseOperation ( WindowConstants . DISPOSE_ON_CLOSE ) ;