package org.droiddraw.widget; import java.awt.Color; import java.awt.Graphics; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; public class DatePicker extends AbstractWidget { public DatePicker() { super("DatePicker"); apply(); } @Override protected int getContentHeight() { return 160; } @Override protected int getContentWidth() { return 140; } public void paint(Graphics g) { drawBackground(g); Date d = new Date(); Calendar c = Calendar.getInstance(); c.setTime(d); int month = c.get(Calendar.MONTH); g.setColor(Color.black); SimpleDateFormat df = new SimpleDateFormat("MMMM yyyy"); g.drawString(df.format(d), getX()+2, getY()+14); int day = c.get(Calendar.DATE); c.add(Calendar.DATE, -day+1); while (c.get(Calendar.DAY_OF_WEEK) != Calendar.SUNDAY) c.add(Calendar.DATE, -1); g.setColor(Color.darkGray); g.drawString("S", getX()+2, getY()+34); g.drawString("M", getX()+22, getY()+34); g.drawString("T", getX()+42, getY()+34); g.drawString("W", getX()+62, getY()+34); g.drawString("T", getX()+82, getY()+34); g.drawString("F", getX()+102, getY()+34); g.drawString("S", getX()+122, getY()+34); for (int j=0;j<6;j++) { for (int i=0;i<7;i++) { if (c.get(Calendar.MONTH) == month) g.setColor(Color.black); else g.setColor(Color.lightGray); g.drawString(""+c.get(Calendar.DATE), getX()+2+i*20, getY()+54+j*20); c.add(Calendar.DATE, 1); } } } }