⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 calendarpad.java

📁 java开发的一个备忘录 很好用的 可以记下你什么时候要做什么 什么时候做过什么
💻 JAVA
字号:
import java.util.*;
import java.text.*;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import java.util.Hashtable;
import java.lang.*;
public class CalendarPad extends JFrame implements MouseListener
{
	int year,month,jmonth,jyear;
	String day,jday;
	Hashtable hashtable;
	Hashtable table=new Hashtable();
	File file;
	JTextField showDay[];
	JLabel title[];
	Calendar 日历;
	int 星期几;
	NotePad notepad;
	Month 负责改变月;
	Year 负责改变年;
	JWindow jw=new JWindow();
	JTextArea text=new JTextArea();
	String 星期[]={"星期日","星期一","星期二","星期三","星期四","星期五","星期六"};
	JPanel leftPanel,rigthPanel;
	public CalendarPad(int year,int month,String day)throws Exception
	{
		leftPanel=new JPanel();
		JPanel leftCenter=new JPanel();
		JPanel leftNorth=new JPanel();
		leftCenter.setLayout(new GridLayout(7,7));
	    rigthPanel=new JPanel();
		this.year=year;
		this.month=month;
		this.day=day;
		this.jyear=year;
		this.jmonth=month;
		this.jday=day;
		负责改变年=new Year(this);
		负责改变年.setYear(year);
		负责改变月=new Month(this);
		负责改变月.setMonth(month);
		title=new JLabel[7];
		showDay=new JTextField[42];
		for(int j=0;j<7;j++)
		{
			title[j]=new JLabel();
			title[j].setText(星期[j]);
			title[j].setBorder(BorderFactory.createRaisedBevelBorder());
			leftCenter.add(title[j]);
		}
		title[0].setForeground(Color.red);
		title[6].setForeground(Color.blue);
		for(int i=0;i<42;i++)
		{
			showDay[i]=new JTextField();
			showDay[i].addMouseListener(this);
		    showDay[i].setEditable(false);
			leftCenter.add(showDay[i]);
		}
		日历=Calendar.getInstance();
		Box box=Box.createHorizontalBox();
		box.add(负责改变年);
		box.add(负责改变月);
		leftNorth.add(box);
		leftPanel.setLayout(new BorderLayout());
        leftPanel.add(leftNorth,BorderLayout.NORTH);
		leftPanel.add(leftCenter,BorderLayout.CENTER);
		leftPanel.add(new Label("请在年分输入框输入所查年份(负数表示公元前),并回车确定 "),BorderLayout.SOUTH);
		leftPanel.validate();
		Container con=getContentPane();
		JSplitPane split=new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,leftPanel,rigthPanel);
		con.add(split,BorderLayout.CENTER);
		con.validate();
		setTitle("日历记事本");
		addWindowListener(new WindowAdapter(){
			public void windowCloseing(WindowEvent e){
			System.exit(-1);
			}
		
		});

		hashtable=new Hashtable();
		file=new File("日历记事本.txt");
		if(!file.exists()){
			try{
				FileOutputStream out=new FileOutputStream(file);
				ObjectOutputStream objectout=new ObjectOutputStream(out);
				objectout.writeObject(hashtable);
				objectout.close();
				out.close();
			}catch(Exception e){}
		}
		put(file);
		notepad=new NotePad(this);
		rigthPanel.add(notepad);
		设置日历牌(year,month);
		setVisible(true);
		setBounds(100,50,560,285);
		validate();
	}
	public void 设置日历牌(int year,int month){
		日历.set(year,month-1,1);
		星期几=日历.get(Calendar.DAY_OF_WEEK)-1;
		if(month==1||month==2||month==3||month==5||month==7||month==8||month==10||month==12)
		{排列号码(星期几,31);}
		else if(month==4||month==6||month==9||month==11)
		{排列号码(星期几,30);}
		else if(month==2){
			if((year%4==0&&year%100!=0)||year%400==0)
			{排列号码(星期几,29);}
			else 排列号码(星期几,28);
		}
	}
	public void put(File file){
			try{
		       FileInputStream inone=new FileInputStream(file);
		        ObjectInputStream intwo=new ObjectInputStream(inone);
		        table=(Hashtable)intwo.readObject();
		        inone.close();
		        intwo.close();
			}catch(Exception e){}
	}
	public boolean bool(int year,int month,String day){		
		String key=" "+year+" "+month+" "+day;
		if(table.containsKey(key)){
			
			return true;}
		else return false;
	}
	public void 排列号码(int  星期几,int 月天数){
		boolean b=true,c=true;
		for(int i=星期几,n=1;i<星期几+月天数;i++){
			showDay[i].setText(" "+n);
			if(负责改变年.year==jyear&&负责改变月.month==jmonth&&Integer.toString(n).equals(jday)){
				c=false;	
				showDay[i].setForeground(Color.green);
				showDay[i].setFont(new Font("TimesRoman",Font.BOLD,20));
			}
			else if(负责改变年.year!=jyear||负责改变月.month!=jmonth||!Integer.toString(n).equals(jday))
			{
              showDay[i].setForeground(Color.black);
			  showDay[i].setFont(new Font("TimeRoman",Font.BOLD,12));
			}
			else{
				showDay[i].setFont(new Font("TimesRoman",Font.BOLD,12));
				showDay[i].setForeground(Color.black);
			}
			if(bool(负责改变年.year,负责改变月.month,Integer.toString(n)))
			{
			b=false;
			showDay[i].setForeground(new Color(68,188,202));
			if(c)
			showDay[i].setFont(new Font("TimesRoman",Font.BOLD,12));
			}
			if(i%7==6&&b) showDay[i].setForeground(Color.blue);
			if(i%7==0&&b) showDay[i].setForeground(Color.red);
			n++;
			b=true;
		}
	for(int i=0;i<星期几;i++){
		showDay[i].setText(" ");
	}
	for(int i=星期几+月天数;i<42;i++)
		showDay[i].setText(" ");
	}
	public int getYear(){return year;}
	public void setYear(int y){
		year=y;
	notepad.setYear(year);}
	public int getMonth(){return month;}
	public void setMonth(int m){
		month=m;
		notepad.setMonth(month);}
    public String getDay(){return day;}
	public void setDay(String d){
		day=d;
		notepad.setDay(day);
	}
	public Hashtable getHashtable(){return hashtable;}
	public File getFile(){return file;}
	public void mousePressed(MouseEvent e){
		JTextField source=(JTextField)e.getSource();
		try{
			String day=source.getText();
			notepad.setDay(day);
			notepad.设置信息条(year,month,day);
			notepad.设置文本区(null);
			notepad.获取日志内容(year,month,day);
		}catch(Exception ee){}
		} 
		public void mouseClicked(MouseEvent e1){}
		public void mouseReleased(MouseEvent e2){}
	    public void mouseEntered(MouseEvent e3){
			try{
		JTextField source=(JTextField)e3.getSource();
		day=source.getText();
		int xx=source.getX();
		int yy=source.getY();
		String s3=负责改变年.year+"-"+负责改变月.month+"-"+day;
            Calendar cld=Calendar.getInstance();
		    SimpleDateFormat bar =new SimpleDateFormat("yyyy-MM-dd");
			Date date = bar.parse(s3);
			cld.setTime(date);
            LunarCal   lunar   =   new   LunarCal(cld);
			Container con=jw.getContentPane();
		jw.setBounds(getX()+xx,getY()+yy+100,100,40);
		con.add("Center",text);
		text.setEditable(false);
		text.setText("农历 "+lunar.getLunar()+"\n"+lunar.cyclicaly()+"年"+" "+lunar.cyclicalm()+"月");
		jw.show();
		}catch(Exception ee){}
		}
		public void mouseExited(MouseEvent e4){
		jw.hide();
		}
	public static void main(String[] args)throws Exception 
	{
		Calendar calendar=Calendar.getInstance();
		int y=calendar.get(Calendar.YEAR);
		int m=calendar.get(Calendar.MONTH)+1;
		String d=Integer.toString(calendar.get(Calendar.DAY_OF_MONTH));
		new CalendarPad(y,m,d);
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -