📄 wnl.java
字号:
import java.util.Calendar;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class Wnl extends JFrame implements MouseListener
{
int year,month,day;
JTextField showDay[];
JLabel title[];
Calendar 日历;
int 星期几;
Month 负责改变月; //定义类对象
Year 负责改变年;
String 星期[]={"星期日","星期一","星期二","星期三","星期四","星期五","星期六"};
JPanel panel;
public Wnl(int year,int month,int day)
{
panel=new JPanel();
JPanel Centerpanel=new JPanel();
JPanel Northpanel=new JPanel();
Centerpanel.setLayout(new GridLayout(7,7));
this.year=year;
this.month=month;
this.day=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());
Centerpanel.add(title[j]);
}
title[0].setForeground(Color.green);
title[6].setForeground(Color.yellow);
for(int i=0;i<42;i++)
{
showDay[i]=new JTextField();
showDay[i].setEditable(false);
Centerpanel.add(showDay[i]);
}
日历=Calendar.getInstance(); //将系统时间赋给日历变量
Box box=Box.createHorizontalBox();
box.add(负责改变年);
box.add(负责改变月);
Northpanel.add(box);
panel.setLayout(new BorderLayout());
panel.add(Northpanel,BorderLayout.NORTH);
panel.add(Centerpanel,BorderLayout.CENTER);
panel.add(new Label("请在年份输入框输入所查年份(负数表示公元前),并回车确定"),
BorderLayout.SOUTH) ;
panel.validate();
Container con=getContentPane();
con.add(panel,BorderLayout.CENTER);
con.validate();
setVisible(true);
设置日历牌(year,month);
addWindowListener(new WindowAdapter() //设置JFrame窗口
{ public void windowClosing(WindowEvent e)
{
System.exit(0);
}
});
setVisible(true);
setBounds(100,50,524,285);
validate(); //设置窗口长期有效
}
public void 设置日历牌(int year,int month)
{
日历.set(year,month-1,1);
星期几=日历.get(Calendar.DAY_OF_WEEK)-1;
if(month==1||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 排列号码(int 星期几,int 月天数)
{
for(int i=星期几,n=1;i<星期几+月天数;i++)
{
showDay[i].setText(""+n);
if(i%7==6)
{
showDay[i].setForeground(Color.blue);
}
if(i%7==0)
{
showDay[i].setForeground(Color.red);
}
n++;
}
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)
{
}
public int getMonth()
{
return month;
}
public void setMonth(int m)
{
}
public int getDay()
{
return day;
}
public void setDay(int d)
{
}
public void mousePressed(MouseEvent e)
{
}
public void mouseClicked(MouseEvent e)
{
}
public void mouseReleased(MouseEvent e)
{
}
public void mouseEntered(MouseEvent e)
{
}
public void mouseExited(MouseEvent e)
{
}
public static void main(String args[])
{
Calendar calendar=Calendar.getInstance(); //获取系统时间
int y=calendar.get(Calendar.YEAR);
int m=calendar.get(Calendar.MONTH)+1;
int d=calendar.get(Calendar.DAY_OF_MONTH);
new Wnl(y,m,d);
//new CalendarPad(Calendar.YEAR,Calendar.MONTH,Calendar.DAY_OF_MONTH);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -