Hay componentes que te hacen eso más o menos, pero supongo que será un ejercicio, así que intentaré orientarte un poco...
El calendario en si lo puedes construir por ejemplo colocando en un gridLayout el número de labels que te interese (creo que serían 35, un grid de 7 columnas x 5 filas).
Empiezas por determinar el dia de la semana en el que cayó el dia uno por ejemplo. Si dicen que es lunes, y dia 4... pues más o menos ya sabes lo que tendrás que hacer para averiguar el dia de la semana que fue el dia uno. Una vez que lo sepas... ya sabes cual es el Label donde tienes que empezar a escribir los numeros de los dias. Si es el dia 4... pues ya sabes que cuando llegues a ese label, tendras que destacarlo como más te interese.
Tendrás que haber averiguado los dias que tiene el mes que te han indicado (no olvides febrero en los años bisiestos) y ya solo te queda escribir el numero de labels que necesite ese mes.
Creo que es sencillito,pero si necesitas que te explique algo más a fondo me lo comentas, que con esto solo queria orientarte un poquillo para poder centrarnos en dudas que te vayan surgiendo una vez que empieces ; )