您的位置:首页 > 编程语言 > Java开发

java万年历

2015-10-27 20:40 495 查看
主类:

import java.awt.*;
public class 万年历 {
<span style="white-space:pre">	</span>public static void main(String[] args) {
<span style="white-space:pre">	</span>window p=new window();
<span style="white-space:pre">	</span>police l=new police();
<span style="white-space:pre">	</span>p.setmylistener(l);//监视器和窗口结合
<span style="white-space:pre">	</span>p.setBounds(0, 0,800,800);//设置窗口的位置大小
<span style="white-space:pre">	</span>p.setTitle("万年历");//标题
<span style="white-space:pre">	</span>Container c=p.getContentPane();
<span style="white-space:pre">	</span>c.setBackground(Color.green);//设置背景颜色
<span style="white-space:pre">	</span>}

}


window类

package java万年历;

import javax.swing.*;
import java.awt.*;
public class window extends JFrame{
   JTextField tt;//文本框
   JButton bb;//按钮
   JTextArea aa;//文本区
   public window(){
<span style="white-space:pre">	</span>   init();
<span style="white-space:pre">	</span>   setVisible(true);//设置窗口为可见的
<span style="white-space:pre">	</span>   setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
   }
   void init(){
<span style="white-space:pre">	</span>   //tLayout(new FlowLayout());//按顺序添加的布局
<span style="white-space:pre">	</span>   JPanel p=new JPanel();
<span style="white-space:pre">	</span>   JLabel l=new JLabel("请输入年份");
<span style="white-space:pre">	</span>   tt=new JTextField(10);//
       bb=new JButton("确定");
       p.add(l);
       p.add(tt);
       p.add(bb);
       add(p,BorderLayout.NORTH);
       aa=new JTextArea(30,150);
       JScrollPane kk=new JScrollPane(aa);//文本区为可动的
       add(kk,BorderLayout.CENTER);//添加文本区
   }
   mylistener ll;
   void setmylistener(mylistener ll){
<span style="white-space:pre">	</span>   this.ll=ll;
<span style="white-space:pre">	</span>   ll.set文本区(aa);
<span style="white-space:pre">	</span>   ll.set文本框(tt);
<span style="white-space:pre">	</span>   bb.addActionListener(ll);//按钮创建监视器  及  点击按钮调用重写的方法
<span style="white-space:pre">	</span>   tt.addActionListener(ll);//文本框监视器  及按回车键调用重写的方法
   }
}
police类

package java万年历;

import javax.swing.*;
import java.awt.event.*;
import java.util.Calendar;
public class police implements mylistener{
   JTextField a;
   JTextArea ll;
<span style="white-space:pre">	</span>public void set文本框(JTextField l){
<span style="white-space:pre">	</span>  a=l;
  }
<span style="white-space:pre">	</span>public void set文本区(JTextArea h){
<span style="white-space:pre">		</span>ll=h;
<span style="white-space:pre">	</span>}
  public void actionPerformed(ActionEvent e){
<span style="white-space:pre">	</span>  int y =Integer.parseInt(a.getText()); //得到文本框里的字符串并且转换为int型数据
<span style="white-space:pre">	</span>  print(y);
  }
  void print(int  y){//print的目的得到y年的日历
<span style="white-space:pre">	</span>  ll.append("\t\t"+y+"的日历是:"+"\n");
   String str="一 \t二\t三\t四\t五\t六\t日";
   String ss[]=new String[13];
   ss[1]="一月";
   ss[2]="二月";
   ss[3]="三月";
   ss[4]="四月";
   ss[5]="五月";
   ss[6]="六月";
   ss[7]="七月";
   ss[8]="八月";
   ss[9]="九月";
   ss[10]="十月";
   ss[11]="十一月";
   ss[12]="十二月";
   int i;
   int year=y;
   int mon;
   String [] s=new String[42];
   for(i=1;i<=12;i++){
<span style="white-space:pre">	</span>   ll.append("\t\t******"+ss[i]+"******"+"\n");
<span style="white-space:pre">	</span>   ll.append(str+"\n");
<span style="white-space:pre">	</span>   mon=i;
<span style="white-space:pre">	</span>   Calendar cc=Calendar.getInstance();//创建对象
<span style="white-space:pre">	</span>   cc.set(year, mon-1, 1);//创建日期
<span style="white-space:pre">	</span>   int week=cc.get(Calendar.DAY_OF_WEEK)-1;//得到这一个月1号是星期几
<span style="white-space:pre">	</span>   int day=0;
<span style="white-space:pre">	</span>   if(mon==1||mon==3||mon==5||mon==7||mon==8||mon==10||mon==12)
<span style="white-space:pre">		</span>   day=31;
<span style="white-space:pre">	</span>   if(mon==4||mon==6||mon==9||mon==11)
<span style="white-space:pre">		</span>   day=30;
<span style="white-space:pre">	</span>   if(mon==2){
<span style="white-space:pre">		</span>   if((year%4==0&&year%100!=0)||year%400==0) day=29;
<span style="white-space:pre">		</span>   else day=28;
<span style="white-space:pre">	</span>   }
<span style="white-space:pre">	</span>   for(int j=0;j<week;j++){
<span style="white-space:pre">		</span>   s[j]=" ";
<span style="white-space:pre">	</span>   }
<span style="white-space:pre">	</span>   for(int j=week,t=1;j<week+day;j++){
<span style="white-space:pre">		</span>   s[j]=String.valueOf(t);//将数字转换为字符串
<span style="white-space:pre">		</span>   t++;
<span style="white-space:pre">	</span>   }
<span style="white-space:pre">	</span>   for(int j=week+day;j<42;j++){
<span style="white-space:pre">		</span>   s[j]=" ";
<span style="white-space:pre">	</span>   }
<span style="white-space:pre">	</span>   for(int j=0;j<s.length;j++){
<span style="white-space:pre">		</span>   if(j%7==0) ll.append("\n");
<span style="white-space:pre">		</span>   if(s[j].length()==1) ll.append(s[j]+"\t");
<span style="white-space:pre">		</span>   else ll.append(s[j]+"\t");
<span style="white-space:pre">	</span>   }
<span style="white-space:pre">	</span>   ll.append("\n");
   }
  }
}


mylistener接口

package java万年历;

import javax.swing.*;
import java.awt.event.*;
public interface mylistener extends ActionListener{
  public void set文本框(JTextField l);
  public void set文本区(JTextArea h);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: