当前位置:编程学习 > JAVA >>

菜鸟求助,如何编写一个万年历,最好能显示当前系统的时间。

万年历设计的大致思路。能够查询日期,显示当前时间就够了。 --------------------编程问答-------------------- 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
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,