菜鸟求助,如何编写一个万年历,最好能显示当前系统的时间。
万年历设计的大致思路。能够查询日期,显示当前时间就够了。 --------------------编程问答-------------------- java.util.Calendar --------------------编程问答-------------------- 亲,源代码有么 --------------------编程问答-------------------- http://wenku.baidu.com/view/af522c18a8114431b90dd864.html --------------------编程问答-------------------- import java.applet.Applet;import java.awt.Button;
import java.awt.Graphics;
import java.awt.Label;
import java.awt.TextField;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Calendar;
import java.util.Date;
public class test001 extends Applet implements ActionListener {
Label L1 = new Label("输入年份");
Label L2 = new Label("输入月份");
TextField F1 = new TextField(5);
TextField F2 = new TextField(5);
Button B1 = new Button("查询");
int arr[] = new int[12];
String ARR[];
int var;
public void init() {
add(L1);
add(F1);
add(L2);
add(F2);
add(B1);
Date date = new Date();
F1.setText(String.valueOf(date.getYear() + 1900));
F2.setText(String.valueOf(date.getMonth() + 1));
B1.addActionListener(this);
arr[0] = arr[2] = arr[4] = arr[6] = arr[7] = arr[9] = arr[11] = 31;
arr[3] = arr[5] = arr[8] = arr[10] = 30;
date.setDate(1);
var = date.getDay();
}
public void actionPerformed(ActionEvent e) {
int x = Integer.parseInt(F1.getText()), i = Integer.parseInt(F2.getText()) - 1, s = 0;
Date date = new Date();
date.setYear(x - 1900);
date.setMonth(i);
date.setDate(1);
var = date.getDay();
repaint();
}
public void paint(Graphics g) {
int xpos, ypos;
arr[0] = arr[2] = arr[4] = arr[6] = arr[7] = arr[9] = arr[11] = 31;
arr[3] = arr[5] = arr[8] = arr[10] = 30;
int x = Integer.parseInt(F1.getText()), i = Integer.parseInt(F2.getText()) - 1;
if ((x % 4 == 0 && x % 100 != 0) || (x % 400 == 0))
arr[1] = 29;
else
arr[1] = 28;
g.drawString("星期一", 50, 50);
g.drawString("星期二", 100, 50);
g.drawString("星期三", 150, 50);
g.drawString("星期四", 200, 50);
g.drawString("星期五", 250, 50);
g.drawString("星期六", 300, 50);
g.drawString("星期日", 350, 50);
ARR = new String[arr[i]];
int j = 0, k = 1;
while (k <= arr[i]) {
ARR[j] = String.valueOf(k);
k ++;
j ++;
}
int line = 0;
for (int m = 0 ; m < ARR.length ; m ++) {
ypos = 50 + 50 * (line + 1);
xpos = (var * 50 + 50 * (m % 7)) % 350;
if (xpos == 0) {
xpos = 350;
line ++;
}
g.drawString(ARR[m], xpos, ypos);
}
}
}
补充:Java , Eclipse