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

📄 daytask.java

📁 我本来想仿制windows系统做个日历,但没做成功,只好写个简单的日历收场吧!
💻 JAVA
字号:
import java.awt.*;
import java.awt.event.*;

import javax.swing.*;

import java.util.*;
public class DayTask extends JFrame{
	int temp;
	public JList list;
	public JComboBox comboboxMonth;
	public JButton[]buttonDay;
	public JLabel[]labelWeek;
	public Container container;
	public BorderLayout layout;
	public JPanel panel;
	public JPanel panelN;
	public JPanel panelC;
	public JPanel panelCN;
	public JPanel panelCC;
	public JPanel panelS;
	public JTextArea area;
	public JScrollBar scrollbar;
	public Calendar calendar;
	public Calendar nowtime;
	public String year;
	public String month;
	public String day;
	public String listYears[];
	public String week[]={"星期日","星期一","星期二","星期三","星期四","星期五","星期六"};
	public String listMonth[]={"一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"};
	public int i;
	public int k;

	public DayTask() {
		// TODO Auto-generated constructor stub
		super("学习计划");
		container=getContentPane();
		layout=new BorderLayout();
		container.setLayout(layout);
		calendar=Calendar.getInstance();
		calendar.setTime(new Date());
		nowtime=Calendar.getInstance();
		nowtime.setTime(new Date());
		year=String.valueOf(calendar.get(Calendar.YEAR));
		month=String.valueOf(calendar.get(Calendar.MONTH)+1);
		//String listYears[]={"2007","2008","2009"};
	    listYears=new String[70];
		for(int i=1980;i<2050;i++)
		listYears[i-1980]=new String(""+i);
		list=new JList(listYears);
		list.setSelectedValue(year, true);
		comboboxMonth=new JComboBox(listMonth);
		comboboxMonth.setSelectedIndex(calendar.get(Calendar.MONTH));
		comboboxMonth.addActionListener(
				new ActionListener(){

					@Override
					public void actionPerformed(ActionEvent arg0){
					//public void itemStateChanged(ItemEvent arg0) {
						// TODO Auto-generated method stub
						int month=comboboxMonth.getSelectedIndex();
						String year=(String)list.getSelectedValue();
						DayLayout(year,month);
					}
					
				}
		);
		list.setVisibleRowCount(1);
		JScrollPane scrollpane=new JScrollPane(list);
		scrollbar=scrollpane.getVerticalScrollBar();
		k=calendar.get(Calendar.YEAR)-1980;
		i=20*(calendar.get(Calendar.YEAR)-1980)+10;
		scrollbar.setMaximum(i);
		scrollbar.setValue(i);
		i=scrollbar.getValue();
		scrollbar.addAdjustmentListener(
				new AdjustmentListener(){

					@Override
					public void adjustmentValueChanged(AdjustmentEvent arg0) {
						// TODO Auto-generated method stub
						if(i<scrollbar.getValue())list.setSelectedIndex(++k);
						if(i>scrollbar.getValue())list.setSelectedIndex(--k);
						i=scrollbar.getValue();
						int month=comboboxMonth.getSelectedIndex();
						String year=(String)list.getSelectedValue();
						DayLayout(year,month);
						
					}
					
				}
		);
		panelN=new JPanel();
		panelN.setLayout(new FlowLayout());
		panelN.add(scrollpane);
		panelN.add(comboboxMonth);
		//week[]={"星期日","星期一","星期二","星期三","星期四","星期五","星期六"};
		panelCN=new JPanel();
		labelWeek=new JLabel[7];
		panelCN.setLayout(new GridLayout(1,7,1,1));
		for(int i=0;i<7;i++){
			labelWeek[i]=new JLabel(week[i]);
			panelCN.add(labelWeek[i]);
		}
		
		calendar.set(Integer.parseInt(year), Integer.parseInt(month)-1,1);
		int w=calendar.get(Calendar.DAY_OF_WEEK);
		int Wyear=Integer.parseInt(year);
		int Mdays;
		int Ymonth=Integer.parseInt(month);
		if(Ymonth==2){
			if((Wyear%4==0&&Wyear%100!=0)||Wyear%400==0)
				Mdays=29;
			else
				Mdays=28;
		}
		else{
			if(Ymonth==1||Ymonth==3||Ymonth==5||Ymonth==7||Ymonth==8||Ymonth==10||Ymonth==12)
				Mdays=31;
			else
				Mdays=30;
		}
		
		panelCC=new JPanel();
		panelCC.setLayout(new GridLayout(6,7,1,1));
		buttonDay=new JButton[42];
		for(int i=1;i<w;i++){		
			buttonDay[i-1]=new JButton("");
			//buttonDay[i-1].setVisible(false);
			panelCC.add(buttonDay[i-1]);
		}
		for(int i=0;i<Mdays;i++){
			if(nowtime.get(Calendar.DAY_OF_MONTH)==(i+1)){
				buttonDay[w+i]=new JButton(""+(i+1));
				buttonDay[w+i].setBackground(Color.red);
				panelCC.add(buttonDay[w+i]);
			}
			else{
				buttonDay[w+i]=new JButton(""+(i+1));
				panelCC.add(buttonDay[w+i]);
			}
			
		}
		for(int i=0;i<(42-w-Mdays+1);i++){
			buttonDay[w+Mdays+i-1]=new JButton("");
			//buttonDay[w+Mdays+i-1].setVisible(false);
			panelCC.add(buttonDay[w+Mdays+i-1]);
		}
		area=new JTextArea(20,10);
		JLabel label=new JLabel("今天学到了:");
		panelS=new JPanel();
		panelS.setLayout(new BorderLayout());
		panelS.add(label,BorderLayout.NORTH);
		panelS.add(new JScrollPane(area),BorderLayout.CENTER);
		
		panelC=new JPanel();
		panelC.setLayout(new BorderLayout());
		panelC.add(panelCN,BorderLayout.NORTH);
		panelC.add(panelCC,BorderLayout.CENTER);
		container.add(panelN,BorderLayout.NORTH);
		container.add(panelC,BorderLayout.CENTER);
		//container.add(panelS,BorderLayout.SOUTH);
		setSize(400,300);
		setVisible(true);
		
	}

	protected void DayLayout(String year,int month) {
		// TODO Auto-generated method stub
		
		calendar.set(Integer.parseInt(year),month,1);
		int w=calendar.get(Calendar.DAY_OF_WEEK);
		int Wyear=Integer.parseInt(year);
		int Mdays;
		int Ymonth=month+1;
		if(Ymonth==2){
			if((Wyear%4==0&&Wyear%100!=0)||Wyear%400==0)
				Mdays=29;
			else
				Mdays=28;
		}
		else{
			if(Ymonth==1||Ymonth==3||Ymonth==5||Ymonth==7||Ymonth==8||Ymonth==10||Ymonth==12)
				Mdays=31;
			else
				Mdays=30;
		}
	
		panelCC.removeAll();
		
		buttonDay=new JButton[42];
		for(int i=1;i<w;i++){		
			buttonDay[i-1]=new JButton("");
			//buttonDay[i-1].setVisible(false);
			panelCC.add(buttonDay[i-1]);
		}
		for(int i=0;i<Mdays;i++){
			if(nowtime.get(Calendar.DAY_OF_MONTH)==(i+1)){
				buttonDay[w+i]=new JButton(""+(i+1));
				buttonDay[w+i].setBackground(Color.red);
				panelCC.add(buttonDay[w+i]);	
			}
			else{
				buttonDay[w+i]=new JButton(""+(i+1));
				panelCC.add(buttonDay[w+i]);
			}
		}
		for(int i=0;i<(42-w-Mdays+1);i++){
			buttonDay[w+Mdays+i-1]=new JButton("");
			//buttonDay[w+Mdays+i-1].setVisible(false);
			panelCC.add(buttonDay[w+Mdays+i-1]);
		}
	
		setSize(400,300);
		setVisible(true);
	}

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		DayTask application=new DayTask();
		application.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

	}

}

⌨️ 快捷键说明

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