Allora bako io ti consiglio di creare un GregorianCalendar vuoto, per poi ricavare anno,mese,giorno,ecc.. tutto tramite il metodo get es. d.get(GregorianCalendar.DAY_OF_MONTH); una volta che recuperi il mese e il giorno, setti il giorno del mese ad 1 con il metodo gre.set(GregorianCalendar.DAY_OF_MONTH,1); e lo fai ciclare con un for o while finche non è diverso dal mese che hai ricavato.

ti posto un piccolo esempio che stampa i giorni del mese:
GregorianCalendar d=new GregorianCalendar();

int today=d.get(GregorianCalendar.DAY_OF_MONTH);
int mese=d.get(GregorianCalendar.MONTH);

int weeday=d.get(GregorianCalendar.DAY_OF_WEEK); //chiede il giorno della settimana

d.set(GregorianCalendar.DAY_OF_MONTH,1);
while(true){
int day=d.get(GregorianCalendar.DAY_OF_MONTH);

System.out.print(day);//Stampa i giorni
System.out.print(" ");
d.add(GregorianCalendar.DAY_OF_MONTH,1);

if(d.get(GregorianCalendar.MONTH)!=mese) break;
}

Se stai creando un calendario, ricorda che il pezzo più difficile sarà quando devi incollonare i giorni della settimana ad ogni mese Spero di esserti stato d'aiuto