📄 canlendar.java
字号:
import java.awt.*;
import java.applet.*;
import java.applet.Applet;
import java.awt.Graphics;
import java.lang.String;
import java.lang.Integer;
public class Canlendar extends Applet {
private Choice list1;
private int wholedays;
private int months[]={31,29,31,30,31,30,31,31,30,31,30,31}; //每一月的天数
private int weekdate;
private int num=1;
private boolean total=false; //判断是否全部显示
private Graphics2D s;
public void init()
{
list1=new Choice();
list1.addItem("1");
list1.addItem("2");
list1.addItem("3");
list1.addItem("4");
list1.addItem("5");
list1.addItem("6");
list1.addItem("7");
list1.addItem("8");
list1.addItem("9");
list1.addItem("10");
list1.addItem("11");
list1.addItem("12");
add(list1);
// s=new Graphics2D();
weekdate=2; //1月1日的星期数
int i,j;
int a,b,c;
b=0;
//下面计算个位数与星期数相等的总的天数
for(i=0;i<12;i++)
{
for(j=1;j<=months[i];j++)
{
a=j%10; //取个位数
c=(weekdate+(j+b-1)%7)%7; //计算当前这一天的星期数
if(a==c) wholedays++;
}
b+=months[i];
}
}
public boolean action(Event e,Object o)
{
String states;
if(e.target instanceof Choice)
{
states=list1.getSelectedItem();
num=Integer.valueOf(states).intValue();
repaint();
}
return true;
}
public void paint(Graphics g)
{
g.setColor(new Color(200,0,255));
g.fill3DRect(0,0,600,500,true);
g.setColor(new Color(20,90,25));
g.fillOval(25,30,410,250);
g.setColor(Color.blue);
g.setFont(new Font("TimesRoman",Font.PLAIN,20));
g.drawString("2008年日历", 120, 25 );
g.drawString("月份",280,25);
g.drawString("日期的个位数与星期相等的总天数为"+Integer.toString(wholedays),60,220);
g.setColor(Color.red);
g.setFont(new Font("Bold",Font.ITALIC,14));
g.drawString("日 一 二 三 四 五 六",120,70);
g.setColor(Color.black);
int startweek;
int currentweek;
int totaldays=0;
int i,j;
int localx=120;
int localy=90;
for(i=0;i<num-1;i++)
totaldays+=months[i];
startweek=(weekdate+(totaldays)%7)%7; //计算当前月第一天的星期
currentweek=startweek;
g.setFont(new Font("Bold",Font.ITALIC,14));
for(i=1;i<=months[num-1];i++) //画出日历
{
if(currentweek%7==6)
{
localx=120+6*36;
g.drawString(Integer.toString(i),localx,localy);
localy+=20;
currentweek++;
continue;
}
j=currentweek%7;
localx=120+j*36;
g.drawString(Integer.toString(i),localx,localy);
currentweek++;
}
return;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -