public void actionPerformed(ActionEvent evt) {
        /** if save configuration button is clicked */
        if (evt.getActionCommand().equals("Save Configurations")) {
            /** copy new keys back to glocal variables */
            for (int i = 0; i < 4; i++) for (int j = 0; j < 5; j++)
                BomberKeyConfig.keys[i][j] = keys[i][j];
            /** write the file */
            BomberKeyConfig.writeFile();
            /** destroy this dialog */
            dispose();
        }
        /** if close button is clicked then destroy the dialog */
        else if (evt.getActionCommand().equals("Close")) dispose();
        /** if other buttons are clicked */
        else {
            /** find which key setup button is clicked */
            int i = 0, j = 0;
            boolean found = false;
            for (i = 0; i < 4; ++i) {
                for (j = 0; j < 5; ++j) {
                    /** if key found then exit the loop */
                    if (evt.getSource().equals(buttons[i][j])) found = true;
                    if (found) break;
                }
                if (found) break;
            }
            /** set keys being set indexes */
            keysBeingSet[0] = i;
            keysBeingSet[1] = j;
            /** setup get key loop */
            waitingForKey = true;
            /** create the get key dialog */
            new GetKeyDialog(this, "Press a key to be assigned...", true);
        }
    }