import java.util.*;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class ex13_6 extends JApplet implements ActionListener
{
JTable table;
Object a[][]= new Object[6][7];
Object name[]={"星期日","星期一","星期二","星期三","星期四","星期五","星期六"};
JButton nextMonth,previousMonth;
int year=2008,month=1;
CalendarBean calendar;
JLabel showMessage=new JLabel("",JLabel.CENTER);
public void init()
{
calendar=new CalendarBean();
String s=getParameter("year");
try
{
year = Integer.parseInt(s);
}
catch(Exception ee){year=2008;}
calendar.setYear(year);
calendar.setMonth(month);
String day[]=calendar.getCalendar();
table = new JTable(a,name);
table.setRowSelectionAllowed(false);
setTable(day);
nextMonth = new JButton("下月");
previousMonth = new JButton("上月");
nextMonth.addActionListener(this);
previousMonth.addActionListener(this);
JPanel pNorth = new JPanel(),
pSouth = new JPanel();
pNorth.add(previousMonth);
pNorth.add(nextMonth);
pSouth.add(showMessage);
showMessage.setText("日历:"+calendar.getYear()+"年"+calendar.getMonth()+"月");
Container con = getContentPane();
con.add(new JScrollPane(table),BorderLayout.CENTER);
con.add(pNorth,BorderLayout.NORTH);
con.add(pSouth,BorderLayout.SOUTH);
con.validate();
}
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==nextMonth)
{
month=month+1;
if(month>12)
month=1;
calendar.setMonth(month);
String day[] = calendar.getCalendar();
setTable(day);
table.repaint();
}
else if(e.getSource()==previousMonth)
{
month=month-1;
if(month<1)
month=12;
calendar.setMonth(month);
String day[]=calendar.getCalendar();
setTable(day);
table.repaint();
}
}
public void setTable(String day[])
{
int n=0;
for(int i=0;i<6;i++)
for(int j=0;j<7;j++)
{
a[i][j]=day[n];
n++;
}
}
}
class CalendarBean
{
String day[];
int year=2005,month=0;
public void setYear(int year)
{
this.year=year;
}
public void setMonth(int month)
{
this.month=month;
}
public int getYear( )
{
return year;
}
public int getMonth()
{
return month;
}
public String[] getCalendar()
{
String a[]=new String[42];
Calendar rili=Calendar.getInstance();
rili.set(year, month,1);
int xingqiji=rili.get(Calendar.DAY_OF_WEEK)-1;
int day=0;
if(month==1||month==3||month==5||month==7||month==8||month==10||month==12)
day=31;
else
day=30;
for(int i=xingqiji,n=1;i<xingqiji+day;i++)
{
a[i]=String.valueOf(n);
n++;
}
return a;
}
}
javaapplet
需积分: 32 55 浏览量
2009-01-03
22:05:45
上传
评论
收藏 181KB RAR 举报
meilonglove
- 粉丝: 0
- 资源: 8
最新资源
- 多机调度问题贪心算法:理论探索与实践应用.zip
- 探索tecreate:软件开发的未来之星.zip
- 打标机项目C#源码连接扫码
- 基于SSM的房屋租赁系统的设计与实现
- xyctf:从入门到精通的实用指南.zip
- mmqrcode1714153659780.png
- Screenshot_2024-04-27-06-08-58-486_com.baidu.xin.aiqicha.jpg
- 基于Javaweb+Tomcat+MySQL的大学生公寓管理系统+sql文件.zip
- 实训作业基于javaweb的订单管理系统源码+数据库+实训报告.zip
- 多机调度问题贪心算法基于最小堆和贪心算法求解多机调度问题.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈