// 重画天数选择面板
void showDays() {
cal.set(year, month, 1);
int firstDayOfWeek = cal.get(Calendar.DAY_OF_WEEK);
int n = mm[month];
if (cal.isLeapYear(year) && month == 1)
n++;
int i = 0;
for (; i < firstDayOfWeek - 1; i++) {
days[i].setEnabled(false);
days[i].setSelected(false);
days[i].setText("");
}
int d = 1;
for (; d <= n; d++) {
days[i].setText(Integer.toString(d));
days[i].setEnabled(true);
if (d == day)
days[i].setSelected(true);
else
days[i].setSelected(false);
;
i++;
}
for (; i < 42; i++) {
days[i].setEnabled(false);
days[i].setSelected(false);
days[i].setText("");
}
}
// 检验输入的年份字符串
void inputYear() {
String s;
if (Year.getText().endsWith("年")) {
s = Year.getText().substring(0, Year.getText().length() - 1);
} else
s = Year.getText();
year = Integer.parseInt(s);
this.showMe();
}
// 以字符串形式返回日期,yyyy-mm-dd
public String getDate() {
return Out.getText();
}
// 以字符串形式输入日期,yyyy-mm-dd
public void setDate(String date) {
if (date != null) {
StringTokenizer f = new StringTokenizer(date, "-");
if (f.hasMoreTokens())
year = Integer.parseInt(f.nextToken());
if (f.hasMoreTokens())
month = Integer.parseInt(f.nextToken());
if (f.hasMoreTokens())
day = Integer.parseInt(f.nextToken());
cal.set(year, month, day);
}
this.showMe();
}
public class TestJCalendar {
public static void main(String[] args) {
JFrame f = new JFrame();
f.setContentPane(new JCalendar());
f.pack();
// f.setResizable(false);
f.show();
}
}