?? 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}; //每一月的天數(shù)
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日的星期數(shù)
int i,j;
int a,b,c;
b=0;
//下面計算個位數(shù)與星期數(shù)相等的總的天數(shù)
for(i=0;i<12;i++)
{
for(j=1;j<=months[i];j++)
{
a=j%10; //取個位數(shù)
c=(weekdate+(j+b-1)%7)%7; //計算當前這一天的星期數(shù)
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("日期的個位數(shù)與星期相等的總天數(shù)為"+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;
}
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -