手机软件测试日历模块,小小日历(calendar)

package calendar;

import //Get a parameter value

public String getParameter(String key, String def) {

return isStandalone ? System.getProperty(key, def) :

(getParameter(key) != null ? getParameter(key) : def);

}

//Construct the applet

public CalendarV2() {

}

//Initialize the applet

public void init() {

try {

jbInit();

}

catch(Exception e) {

e.printStackTrace();

}

}

//Component initialization

private void jbInit() throws Exception {

jLabel1.setText("Please Enter Year");

jLabel1.setBounds(new Rectangle(8, 30, 114, 26));

this.setLayout(null);

jTextField1.setText("");

jTextField1.setBounds(new Rectangle(129, 30, 136, 27));

jLabel2.setText("Please Ente Month");

jLabel2.setBounds(new Rectangle(4, 70, 104, 26));

jTextField2.setText("");

jTextField2.setBounds(new Rectangle(130, 69, 136, 26));

jButton1.setBounds(new Rectangle(16, 122, 233, 21));

jButton1.setText("CheckCalendarV2");

jButton1.addActionListener(new CalendarV2_jButton1_actionAdapter(this));

jButton2.setBounds(new Rectangle(16, 156, 232, 20));

jButton2.setText("Exit");

jButton2.addActionListener(new CalendarV2_jButton2_actionAdapter(this));

this.add(jButton1, null);

this.add(jTextField1, null);

this.add(jTextField2, null);

this.add(jLabel2, null);

this.add(jLabel1, null);

this.add(jButton2, null);

}

JLabel jLabel1 = new JLabel();

JTextField jTextField1 = new JTextField();

JLabel jLabel2 = new JLabel();

JTextField jTextField2 = new JTextField();

JButton jButton1 = new JButton();

//Get Applet information

public String getAppletInfo() {

return "Applet Information";

}

//Get parameter info

public String[][] getParameterInfo() {

return null;

}

//Main method

public static void main(String[] args) {

CalendarV2 applet = new CalendarV2();

applet.isStandalone = true;

Frame frame;

frame = new Frame();

frame.setTitle("Applet Frame");

frame.add(applet, BorderLayout.CENTER);

applet.init();

applet.start();

frame.setSize(400,320);

Dimension d = Toolkit.getDefaultToolkit().getScreenSize();

frame.setLocation((d.width - frame.getSize().width) / 2, (d.height - frame.getSize().height) / 2);

frame.setVisible(true);

}

// Declare dataMember

//********************

boolean isLeapYear,isEverPressBtn=false;

int thisYear,EnterYear,EnterMonth;

//***********************************************************************************

//Methods

//***********************************************************************************

//-----计算该年天数---------------

public int checkYear(int Year){

if(Year%4==0&&Year%100!=0){

thisYear = 366;

}

if(Year%100==0&&Year%400==0){

thisYear = 366;

}

else if(Year%4!=0){

thisYear=365;

}

return thisYear;

}

//--------------------------------

//------查看是否闰年----------------

public boolean checkLeapYear(int Year){

if(Year%4==0&&Year%100!=0){

isLeapYear=true;

}

if(Year%400==0)

isLeapYear=true;

else if(Year%4!=0){

isLeapYear=false;

}

return isLeapYear;

}

//---------------------------------

//--------计算当月天数---------------

//要输入年份的原因是要判断二月29天还是28天

public int checkMonth(int Month ,int Year){

int Dates=0;

if (Month <0||Month>12){

System.out.println("Month Error");

}

if(Month==1||Month==3||Month==5||

Month==7||Month==8||Month==10||

Month==12){

Dates=31;

}

if(Month==2&&this.checkLeapYear(Year)){

Dates=29;

}

if(Month==2&&!this.checkLeapYear(Year)){

Dates=28;

}

if(Month==4||Month==6||Month==9||Month==11){

Dates=30;

}

return Dates;

}

//------------------------------------

//-----用递归法计算目标年到已知年的总天数---

public int counterYearDates(int EnterYear){

int sum1=0;

if(EnterYear==2001){//2001年为已知年

sum1=0; //递归从此跳出

}

if(EnterYear>2001){

sum1+=this.checkYear(EnterYear-1)

+this.counterYearDates(EnterYear-1);

}

//当目标年大于2001年,则从目标年-1往前累加

//到2001年为止

if(EnterYear<2001){

sum1+=this.checkYear(EnterYear)

+this.counterYearDates(EnterYear+1);

}

//当目标年小于2001年,则从目标年往后累加

//到2001年为止

return sum1;

}

//-----计算目标年从一月到目标月的总天数------------------------

//要输入年份的原因是要判断二月29天还是28天

public int counterMonthDates(int EnterMonth,int EnterYear){

int sum2=0;

if(EnterMonth==1){

sum2=0;

}

if(EnterMonth>1&&EnterMonth<=12){

sum2+=this.checkMonth(EnterMonth-1,EnterYear)

+this.counterMonthDates(EnterMonth-1,EnterYear);

}

else if(EnterMonth<0){

System.out.print("Month Error");

}

return sum2;

}

//------------------------------------------------

//-------------用数组存目标月日期-----------------------------

public int[] Array(int AllDates,int EnterMonth){

int n=AllDates%7;

int a=1;

int[] DayInTable=new int[38];

if(n<0)//Keep the n bigger than 0

n=7+n+1;//Line 207 haven′t add 1,so here add

if(n!=0)

for(int i=n;i

DayInTable[i]=a;

a++;

}

else

for(int i=7;i

//若n为0,则说明目标月一号为星期日

DayInTable[i]=a;

a++;

}

return DayInTable;

}

//----------------------------------------------------------

//-----------打印输出-------------------------------

public void printTable(int[]DayInTable){

System.out.println("Curren Date is: Year "

+EnterYear+" Month "+EnterMonth);

System.out.print("Mon Tue Wed Thur Fri Sat Sun ");

System.out.println();

for(int i=1;i<=37;i++){

if(DayInTable[i]==0)

System.out.print(" ");

if(i%7==0&&DayInTable[i]!=0){ //防止在最后i=35时输出0

System.out.print(DayInTable[i]+" ");

System.out.println();

}

else if(DayInTable[i]>9)

System.out.print(DayInTable[i]+" ");

else if(DayInTable[i]!=0) //防止在最后i<9时输出0

System.out.print(DayInTable[i]+" ");

if(i==37)

System.out.println();

}

}

//-----------------------------------------------------

//---------------按钮触发事件---------------------

void jButton1_actionPerformed(ActionEvent e) {

/*

***********refresh Datas******************

if(isEverPressBtn){

Dates=0;AllDates=0;sum1=0;sum2=0;thisYear=0;

/*如果这几个变量在方法里声明,则不用刷新,请看CalendarV2*/

//}

/******Left All Datas go back to 0****/

int AllDates=0;

String a,b;

a=jTextField1.getText();

b=jTextField2.getText();

EnterYear=Integer.parseInt(a);

EnterMonth=Integer.parseInt(b);

if(EnterYear>=2001){

AllDates=this.counterYearDates(EnterYear)

+this.counterMonthDates(EnterMonth,EnterYear)+1;

}

else if(EnterYear>0){

AllDates=-this.counterYearDates(EnterYear)

+this.counterMonthDates(EnterMonth,EnterYear);

}

else

System.out.print("Year Error");

printTable(Array(AllDates,EnterMonth));

isEverPressBtn=true;

}

JButton jButton2 = new JButton();

void jButton2_actionPerformed(ActionEvent e) {

System.exit(1);

}

//--------------------------------------------------------

//***********************************************************************************

//Methods

//***********************************************************************************

}

class CalendarV2_jButton1_actionAdapter implements java.awt.event.ActionListener {

CalendarV2 adaptee;

CalendarV2_jButton1_actionAdapter(CalendarV2 adaptee) {

this.adaptee = adaptee;

}

public void actionPerformed(ActionEvent e) {

adaptee.jButton1_actionPerformed(e);

}

}

class CalendarV2_jButton2_actionAdapter implements java.awt.event.ActionListener {

CalendarV2 adaptee;

CalendarV2_jButton2_actionAdapter(CalendarV2 adaptee) {

this.adaptee = adaptee;

}

public void actionPerformed(ActionEvent e) {

adaptee.jButton2_actionPerformed(e);

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值