El array de strings sirve, por si no sabias, para que el usuario pueda enviar parametros al programa desde la cmd. Como no esta pensado que el usuario inicie con distintos comandos, no los inclui. Ademas, el main ese es solo a modo de prueba del proyecto.
La clase Frame, perteneciente al AWT, no incluye el defaultcloseoperation que mencionas. Sin embargo, la clase derivada, JFRAME, lo incluye por defecto. Si lo pruebas, veras que la aplicacion cierra naturalmente al oprimir la X superior derecha.
Un error que vale la pena mencionar es: cuando el usuario hace un cuadrado de un determinado tamaño, y luego modifica el tamaño para hacer el siguiente cuadrado de otro tamaño, el cambio afecta a todos los cuadrados guardados. Para solucionarlo, basta cambiar en la intruccion paintComponent donde dice "i<tamano" por "i<aux1.obtenerBase()".
saludos