Question_Answers 2021-05-07 14:05 采纳率: 42.9%
浏览 19

Boy.java布局与日历

 

import java.util.*;

import java.awt.*;

import java.awt.event.*;

import java.applet.*;

public class Boy extends Applet implements ActionListener

{                         

     Label a[]=new Label[42];

     Button titleName[]=new Button[7];

     String name[]={"星期日","星期一","星期二","星期三", "星期四","星期五","星期六"};

     Button  nextMonth,previousMonth;

     int year=2005,month=1;

     CalendarBean calendar;

     Label showMessage=new Label("",Label.CENTER);

     public void init()

     {

super ("小程序查看器:Boy.class");

int hgap=5,vap=5;

setLayout(new BorderLayout(5,5));        //将Java Applet的布局设置为BorderLayout布局。

 

        Panel pCenter=new Panel();
pCenter.setLayout(new GridLayout(7,7));  //将pCenter的布局设置为7行7列的GridLayout 布局。

 

        for(int i=0;i<7;i++)

        {

          titleName[i]=new Button(name[i]);

         pCenter.add(new Button(titleName[i]));        //pCenter添加组件titleName[i]。

        }

        for(int i=0;i<42;i++)

        {

           a[i]=new Label("",Label.CENTER);

           pCenter.add(new Button(a[i]));                  //pCenter添加组件a[i]。

        }

        calendar=new  CalendarBean();

        year=2005;

        calendar.setYear(year);

        calendar.setMonth(month);

        String day[]=calendar.getCalendar();

        for(int i=0;i<42;i++)

        {

           a[i].setText(day[i]);

        }

        nextMonth=new Button("下月");

        previousMonth=new Button("上月");

        nextMonth.addActionListener(this);

        previousMonth.addActionListener(this);

        Panel pNorth=new Panel(),

              pSouth=new Panel();

        pNorth.add(previousMonth);

        pNorth.add(nextMonth);

        pSouth.add(showMessage);

        showMessage.setText("日历:"+calendar.getYear()+"年"+ calendar.getMonth()+"月" );

        ScrollPane scrollPane=new ScrollPane();

        scrollPane.add(pCenter);

    BtnC=new Button(scrollPane); add (scrollPane,Btnc);

                                         // Java Applet添加scrollPane在中心区域。

    BtnN=new Button(pNorth); add (pNorth,Btnc);

                                      // Java Applet添加pNorth 在北面区域。

    BtnS=new Button(pSouth); add (pSouth,BtnS);

                                // Java Applet添加pSouth 在南区域。

     }

     public void actionPerformed(ActionEvent e)

     {

        if(e.getSource()==nextMonth)

        {

          month=month+1;

          if(month>12)

              month=1;

          calendar.setMonth(month);

          String day[]=calendar.getCalendar();

          for(int i=0;i<42;i++)

           {

              a[i].setText(day[i]);

           }

        }

       else if(e.getSource()==previousMonth)

        {

          month=month-1;

          if(month<1)

              month=12;

          calendar.setMonth(month);

          String day[]=calendar.getCalendar();

           for(int i=0;i<42;i++)

           {

              a[i].setText(day[i]);

           }

        }

       showMessage.setText("日历:"+calendar.getYear()+"年"+calendar.getMonth()+"月" );

     }

 }

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;

   }

}

 

  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2022-09-07 17:55
    关注
    不知道你这个问题是否已经解决, 如果还没有解决的话:

    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 以帮助更多的人 ^-^
    评论

报告相同问题?

悬赏问题

  • ¥15 任意一个散点图自己下载其js脚本文件并做成独立的案例页面,不要作在线的,要离线状态。
  • ¥15 各位 帮我看看如何写代码,打出来的图形要和如下图呈现的一样,急
  • ¥30 c#打开word开启修订并实时显示批注
  • ¥15 如何解决ldsc的这条报错/index error
  • ¥15 VS2022+WDK驱动开发环境
  • ¥30 关于#java#的问题,请各位专家解答!
  • ¥30 vue+element根据数据循环生成多个table,如何实现最后一列 平均分合并
  • ¥20 pcf8563时钟芯片不启振
  • ¥20 pip2.40更新pip2.43时报错
  • ¥15 换yum源但仍然用不了httpd