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

📄 例12-6.txt

📁 Java大学实用教程 耿祥义编著 课件 PPT
💻 TXT
字号:
import java.util.*;
import javax.swing.*; 
import java.awt.*;
import java.awt.event.*;
public class Boy extends JApplet
 implements ActionListener
{ 
     JTable table;
     Object a[][]=new Object[6][7];
     Object name[]={"星期日","星期一","星期二","星期三", "星期四","星期五","星期六"};
     JButton  nextMonth,previousMonth;
     int year=2005,month=1;
     CalendarBean calendar;
     JLabel showMessage=new JLabel("",JLabel.CENTER);
     public void init()
     { 
        calendar=new  CalendarBean();
        String s=getParameter("year");                //从html得到"year"的值。
        try{
             year=Integer.parseInt(s);
           }
         catch(Exception e)
           {
             year=2005;
           }
        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();
        }
       showMessage.setText("日历:"+calendar.getYear()+"年"+calendar.getMonth()+"月" );
     }
  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 int getYear()
   {
        return year; 
   }
   public void setMonth(int month)
   {
       this.month=month;
   }
   public int getMonth()
   {
       return month; 
   }
   public String[] getCalendar()
   {
       String a[]=new String[42];                             //存放号码的一维数组。
       Calendar 日历=Calendar.getInstance();
       日历.set(year,month-1,1);             
       int 星期几=日历.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;
      } 
     if(month==4||month==6||month==9||month==11)
      {
        day=30;
      }
     if(month==2)
      {
         if(((year%4==0)&&(year%100!=0))||(year%400==0))
           {
              day=29;
           }
         else
           {
              day=28;
           }
      }
      for(int i=星期几,n=1;i<星期几+day;i++)
             { 
               a[i]=String.valueOf(n) ;
               n++;
             }  
      return a;
   } 
}

⌨️ 快捷键说明

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