home *** CD-ROM | disk | FTP | other *** search
/ Chip 1998 November / Chip_1998-11_cd.bin / tema / Cafe / WDESAMPL.BIN / Calendar.java < prev    next >
Text File  |  1998-02-26  |  27KB  |  835 lines

  1. /*
  2.  * Title: Calendar
  3.  * Type: Applet
  4.  * Source: Calendar.java
  5.  * Application Description: Display a calendar window with the
  6.  * month/year selected by the user.  When a date is selected,
  7.  * a it is displayed in the scrolling text box at the top.
  8.  *
  9.  * Symantec Corporation.
  10.  */
  11.  
  12. import java.awt.*;
  13. import java.applet.*;
  14.  
  15. import java.util.Date;
  16. import java.util.Hashtable;
  17. import symantec.itools.awt.util.StatusScroller;
  18. import symantec.itools.multimedia.ScrollingText;
  19. public class Calendar extends Applet
  20. {
  21.     //{{DECLARE_CONTROLS
  22.     java.awt.Panel dayPanel;
  23.     java.awt.Label sunLabel;
  24.     java.awt.Label monLabel;
  25.     java.awt.Label tueLabel;
  26.     java.awt.Label wedLabel;
  27.     java.awt.Label thursLabel;
  28.     java.awt.Label friLabel;
  29.     java.awt.Label satLabel;
  30.     java.awt.Panel datePanel;
  31.     java.awt.Button button1;
  32.     java.awt.Button button2;
  33.     java.awt.Button button3;
  34.     java.awt.Button button4;
  35.     java.awt.Button button5;
  36.     java.awt.Button button6;
  37.     java.awt.Button button7;
  38.     java.awt.Button button8;
  39.     java.awt.Button button9;
  40.     java.awt.Button button10;
  41.     java.awt.Button button11;
  42.     java.awt.Button button12;
  43.     java.awt.Button button13;
  44.     java.awt.Button button14;
  45.     java.awt.Button button15;
  46.     java.awt.Button button16;
  47.     java.awt.Button button17;
  48.     java.awt.Button button18;
  49.     java.awt.Button button19;
  50.     java.awt.Button button20;
  51.     java.awt.Button button21;
  52.     java.awt.Button button22;
  53.     java.awt.Button button23;
  54.     java.awt.Button button24;
  55.     java.awt.Button button25;
  56.     java.awt.Button button26;
  57.     java.awt.Button button27;
  58.     java.awt.Button button28;
  59.     java.awt.Button button29;
  60.     java.awt.Button button30;
  61.     java.awt.Button button31;
  62.     java.awt.Button button32;
  63.     java.awt.Button button33;
  64.     java.awt.Button button34;
  65.     java.awt.Button button35;
  66.     java.awt.Button button36;
  67.     java.awt.Button button37;
  68.     java.awt.Button button38;
  69.     java.awt.Button button39;
  70.     java.awt.Button button40;
  71.     java.awt.Button button41;
  72.     java.awt.Button button42;
  73.     java.awt.Panel selPanel;
  74.     java.awt.Button rightButton;
  75.     java.awt.TextField date;
  76.     java.awt.Button leftButton;
  77.     symantec.itools.multimedia.ScrollingText scrollingTextDisplayDate;
  78.     //}}
  79.     Button myButton[];                  // The calendar date buttons
  80.     boolean loaded = true;
  81.     Graphics textGC;
  82.     int thismonth;                      // App. variable
  83.     int thisyear;                       // App. variable
  84.     int days;                           // App. variable
  85.     int dayselected;                    // App. variable
  86.     Date dateSelected;                  // User-selected Date object
  87.     int buttonShift;                    // Used to determine what day the
  88.                                         // 1st of the month falls on
  89.  
  90.     public void init()
  91.     {
  92.         // Take out this line if you don't use symantec.itools.net.RelativeURL or symantec.itools.awt.util.StatusScroller
  93.         symantec.itools.lang.Context.setApplet(this);
  94.  
  95.         // This code is automatically generated by Visual Cafe when you add
  96.         // components to the visual environment. It instantiates and initializes
  97.         // the components. To modify the code, only use code syntax that matches
  98.         // what Visual Cafe can generate, or Visual Cafe may be unable to back
  99.         // parse your Java file into its visual environment.
  100.         //{{INIT_CONTROLS
  101.         setLayout(null);
  102.         setSize(421,369);
  103.         setFont(new Font("Dialog", Font.PLAIN, 12));
  104.         setForeground(new Color(0));
  105.         setBackground(new Color(16777215));
  106.         dayPanel = new java.awt.Panel();
  107.         dayPanel.setLayout(new GridLayout(1,7,5,5));
  108.         dayPanel.setBounds(24,84,372,26);
  109.         dayPanel.setBackground(new Color(12632256));
  110.         add(dayPanel);
  111.         sunLabel = new java.awt.Label("Sun",Label.CENTER);
  112.         sunLabel.setBounds(0,0,372,26);
  113.         dayPanel.add(sunLabel);
  114.         monLabel = new java.awt.Label("Mon",Label.CENTER);
  115.         monLabel.setBounds(53,0,183,26);
  116.         dayPanel.add(monLabel);
  117.         tueLabel = new java.awt.Label("Tue",Label.CENTER);
  118.         tueLabel.setBounds(106,0,120,26);
  119.         dayPanel.add(tueLabel);
  120.         wedLabel = new java.awt.Label("Wed",Label.CENTER);
  121.         wedLabel.setBounds(159,0,70,26);
  122.         dayPanel.add(wedLabel);
  123.         thursLabel = new java.awt.Label("Thur",Label.CENTER);
  124.         thursLabel.setBounds(212,0,48,26);
  125.         dayPanel.add(thursLabel);
  126.         friLabel = new java.awt.Label("Fri",Label.CENTER);
  127.         friLabel.setBounds(265,0,48,26);
  128.         dayPanel.add(friLabel);
  129.         satLabel = new java.awt.Label("Sat",Label.CENTER);
  130.         satLabel.setBounds(318,0,48,26);
  131.         dayPanel.add(satLabel);
  132.         datePanel = new java.awt.Panel();
  133.         datePanel.setLayout(new GridLayout(6,7,1,1));
  134.         datePanel.setBounds(24,120,374,214);
  135.         add(datePanel);
  136.         button1 = new java.awt.Button();
  137.         button1.setActionCommand("button");
  138.         button1.setBounds(0,0,374,34);
  139.         datePanel.add(button1);
  140.         button2 = new java.awt.Button();
  141.         button2.setActionCommand("button");
  142.         button2.setBounds(53,0,52,34);
  143.         datePanel.add(button2);
  144.         button3 = new java.awt.Button();
  145.         button3.setActionCommand("button");
  146.         button3.setBounds(106,0,52,34);
  147.         datePanel.add(button3);
  148.         button4 = new java.awt.Button();
  149.         button4.setActionCommand("button");
  150.         button4.setBounds(159,0,52,34);
  151.         datePanel.add(button4);
  152.         button5 = new java.awt.Button();
  153.         button5.setActionCommand("button");
  154.         button5.setBounds(212,0,52,34);
  155.         datePanel.add(button5);
  156.         button6 = new java.awt.Button();
  157.         button6.setActionCommand("button");
  158.         button6.setBounds(265,0,52,34);
  159.         datePanel.add(button6);
  160.         button7 = new java.awt.Button();
  161.         button7.setActionCommand("button");
  162.         button7.setBounds(318,0,52,34);
  163.         datePanel.add(button7);
  164.         button8 = new java.awt.Button();
  165.         button8.setActionCommand("button");
  166.         button8.setBounds(0,35,92,34);
  167.         datePanel.add(button8);
  168.         button9 = new java.awt.Button();
  169.         button9.setActionCommand("button");
  170.         button9.setBounds(53,35,52,34);
  171.         datePanel.add(button9);
  172.         button10 = new java.awt.Button();
  173.         button10.setActionCommand("button");
  174.         button10.setBounds(106,35,52,34);
  175.         datePanel.add(button10);
  176.         button11 = new java.awt.Button();
  177.         button11.setActionCommand("button");
  178.         button11.setBounds(159,35,52,34);
  179.         datePanel.add(button11);
  180.         button12 = new java.awt.Button();
  181.         button12.setActionCommand("button");
  182.         button12.setBounds(212,35,52,34);
  183.         datePanel.add(button12);
  184.         button13 = new java.awt.Button();
  185.         button13.setActionCommand("button");
  186.         button13.setBounds(265,35,52,34);
  187.         datePanel.add(button13);
  188.         button14 = new java.awt.Button();
  189.         button14.setActionCommand("button");
  190.         button14.setBounds(318,35,52,34);
  191.         datePanel.add(button14);
  192.         button15 = new java.awt.Button();
  193.         button15.setActionCommand("button");
  194.         button15.setBounds(0,70,61,34);
  195.         datePanel.add(button15);
  196.         button16 = new java.awt.Button();
  197.         button16.setActionCommand("button");
  198.         button16.setBounds(53,70,92,34);
  199.         datePanel.add(button16);
  200.         button17 = new java.awt.Button();
  201.         button17.setActionCommand("button");
  202.         button17.setBounds(106,70,52,34);
  203.         datePanel.add(button17);
  204.         button18 = new java.awt.Button();
  205.         button18.setActionCommand("button");
  206.         button18.setBounds(159,70,52,34);
  207.         datePanel.add(button18);
  208.         button19 = new java.awt.Button();
  209.         button19.setActionCommand("button");
  210.         button19.setBounds(212,70,52,34);
  211.         datePanel.add(button19);
  212.         button20 = new java.awt.Button();
  213.         button20.setActionCommand("button");
  214.         button20.setBounds(265,70,74,34);
  215.         datePanel.add(button20);
  216.         button21 = new java.awt.Button();
  217.         button21.setActionCommand("button");
  218.         button21.setBounds(318,70,52,34);
  219.         datePanel.add(button21);
  220.         button22 = new java.awt.Button();
  221.         button22.setActionCommand("button");
  222.         button22.setBounds(0,105,52,34);
  223.         datePanel.add(button22);
  224.         button23 = new java.awt.Button();
  225.         button23.setActionCommand("button");
  226.         button23.setBounds(53,105,61,34);
  227.         datePanel.add(button23);
  228.         button24 = new java.awt.Button();
  229.         button24.setActionCommand("button");
  230.         button24.setBounds(106,105,52,34);
  231.         datePanel.add(button24);
  232.         button25 = new java.awt.Button();
  233.         button25.setActionCommand("button");
  234.         button25.setBounds(159,105,61,34);
  235.         datePanel.add(button25);
  236.         button26 = new java.awt.Button();
  237.         button26.setActionCommand("button");
  238.         button26.setBounds(212,105,52,34);
  239.         datePanel.add(button26);
  240.         button27 = new java.awt.Button();
  241.         button27.setActionCommand("button");
  242.         button27.setBounds(265,105,74,34);
  243.         datePanel.add(button27);
  244.         button28 = new java.awt.Button();
  245.         button28.setActionCommand("button");
  246.         button28.setBounds(318,105,52,34);
  247.         datePanel.add(button28);
  248.         button29 = new java.awt.Button();
  249.         button29.setActionCommand("button");
  250.         button29.setBounds(0,140,52,34);
  251.         datePanel.add(button29);
  252.         button30 = new java.awt.Button();
  253.         button30.setActionCommand("button");
  254.         button30.setBounds(53,140,61,34);
  255.         datePanel.add(button30);
  256.         button31 = new java.awt.Button();
  257.         button31.setActionCommand("button");
  258.         button31.setBounds(106,140,52,34);
  259.         datePanel.add(button31);
  260.         button32 = new java.awt.Button();
  261.         button32.setActionCommand("button");
  262.         button32.setBounds(159,140,52,34);
  263.         datePanel.add(button32);
  264.         button33 = new java.awt.Button();
  265.         button33.setActionCommand("button");
  266.         button33.setBounds(212,140,52,34);
  267.         datePanel.add(button33);
  268.         button34 = new java.awt.Button();
  269.         button34.setActionCommand("button");
  270.         button34.setBounds(265,140,61,34);
  271.         datePanel.add(button34);
  272.         button35 = new java.awt.Button();
  273.         button35.setActionCommand("button");
  274.         button35.setBounds(318,140,52,34);
  275.         datePanel.add(button35);
  276.         button36 = new java.awt.Button();
  277.         button36.setActionCommand("button");
  278.         button36.setBounds(0,175,52,34);
  279.         datePanel.add(button36);
  280.         button37 = new java.awt.Button();
  281.         button37.setActionCommand("button");
  282.         button37.setBounds(53,175,52,34);
  283.         datePanel.add(button37);
  284.         button38 = new java.awt.Button();
  285.         button38.setActionCommand("button");
  286.         button38.setBounds(106,175,52,34);
  287.         datePanel.add(button38);
  288.         button39 = new java.awt.Button();
  289.         button39.setActionCommand("button");
  290.         button39.setBounds(159,175,52,34);
  291.         datePanel.add(button39);
  292.         button40 = new java.awt.Button();
  293.         button40.setActionCommand("button");
  294.         button40.setBounds(212,175,52,34);
  295.         datePanel.add(button40);
  296.         button41 = new java.awt.Button();
  297.         button41.setActionCommand("button");
  298.         button41.setBounds(265,175,52,34);
  299.         datePanel.add(button41);
  300.         button42 = new java.awt.Button();
  301.         button42.setActionCommand("button");
  302.         button42.setBounds(318,175,52,34);
  303.         datePanel.add(button42);
  304.         selPanel = new java.awt.Panel();
  305.         selPanel.setLayout(null);
  306.         selPanel.setBounds(24,48,372,24);
  307.         selPanel.setBackground(new Color(16777215));
  308.         add(selPanel);
  309.         rightButton = new java.awt.Button();
  310.         rightButton.setLabel(">>>");
  311.         rightButton.setBounds(288,0,38,26);
  312.         rightButton.setBackground(new Color(12632256));
  313.         selPanel.add(rightButton);
  314.         date = new java.awt.TextField();
  315.         date.setEditable(false);
  316.         date.setBounds(132,0,120,24);
  317.         selPanel.add(date);
  318.         leftButton = new java.awt.Button();
  319.         leftButton.setLabel("<<<");
  320.         leftButton.setBounds(60,0,36,24);
  321.         leftButton.setBackground(new Color(12632256));
  322.         selPanel.add(leftButton);
  323.         scrollingTextDisplayDate = new symantec.itools.multimedia.ScrollingText();
  324.         try {
  325.             java.lang.String[] tempString = new java.lang.String[1];
  326.             tempString[0] = new java.lang.String("Welcome to the JAVA Calender!!");
  327.             scrollingTextDisplayDate.setMessageList(tempString);
  328.         }
  329.         catch(java.beans.PropertyVetoException e) { }
  330.         scrollingTextDisplayDate.setBounds(24,12,372,24);
  331.         scrollingTextDisplayDate.setFont(new Font("Dialog", Font.BOLD, 12));
  332.         scrollingTextDisplayDate.setForeground(new Color(16777215));
  333.         scrollingTextDisplayDate.setBackground(new Color(255));
  334.         add(scrollingTextDisplayDate);
  335.         scrollingTextDisplayDate.setEnabled(false);
  336.         //}}
  337.         
  338.         //{{REGISTER_LISTENERS
  339.         Mouse lMouse = new Mouse();
  340.         rightButton.addMouseListener(lMouse);
  341.         leftButton.addMouseListener(lMouse);
  342.         button1.addMouseListener(lMouse);
  343.         button2.addMouseListener(lMouse);
  344.         button3.addMouseListener(lMouse);
  345.         button4.addMouseListener(lMouse);
  346.         button5.addMouseListener(lMouse);
  347.         button6.addMouseListener(lMouse);
  348.         button7.addMouseListener(lMouse);
  349.         button8.addMouseListener(lMouse);
  350.         button9.addMouseListener(lMouse);
  351.         button10.addMouseListener(lMouse);
  352.         button11.addMouseListener(lMouse);
  353.         button12.addMouseListener(lMouse);
  354.         button13.addMouseListener(lMouse);
  355.         button14.addMouseListener(lMouse);
  356.         button15.addMouseListener(lMouse);
  357.         button16.addMouseListener(lMouse);
  358.         button17.addMouseListener(lMouse);
  359.         button18.addMouseListener(lMouse);
  360.         button19.addMouseListener(lMouse);
  361.         button20.addMouseListener(lMouse);
  362.         button21.addMouseListener(lMouse);
  363.         button22.addMouseListener(lMouse);
  364.         button23.addMouseListener(lMouse);
  365.         button24.addMouseListener(lMouse);
  366.         button25.addMouseListener(lMouse);
  367.         button26.addMouseListener(lMouse);
  368.         button27.addMouseListener(lMouse);
  369.         button28.addMouseListener(lMouse);
  370.         button29.addMouseListener(lMouse);
  371.         button30.addMouseListener(lMouse);
  372.         button31.addMouseListener(lMouse);
  373.         button32.addMouseListener(lMouse);
  374.         button33.addMouseListener(lMouse);
  375.         button34.addMouseListener(lMouse);
  376.         button35.addMouseListener(lMouse);
  377.         button36.addMouseListener(lMouse);
  378.         button37.addMouseListener(lMouse);
  379.         button38.addMouseListener(lMouse);
  380.         button39.addMouseListener(lMouse);
  381.         button40.addMouseListener(lMouse);
  382.         button41.addMouseListener(lMouse);
  383.         button42.addMouseListener(lMouse);
  384.         //}}
  385.     }
  386.  
  387.     /**
  388.      * Adds all the day buttons to an array
  389.      */
  390.     public void SetButtonArray()
  391.     {
  392.         myButton = new Button[42];
  393.         myButton[0] = button1;
  394.         myButton[1] = button2;
  395.         myButton[2] = button3;
  396.         myButton[3] = button4;
  397.         myButton[4] = button5;
  398.         myButton[5] = button6;
  399.         myButton[6] = button7;
  400.         myButton[7] = button8;
  401.         myButton[8] = button9;
  402.         myButton[9] = button10;
  403.         myButton[10] = button11;
  404.         myButton[11] = button12;
  405.         myButton[12] = button13;
  406.         myButton[13] = button14;
  407.         myButton[14] = button15;
  408.         myButton[15] = button16;
  409.         myButton[16] = button17;
  410.         myButton[17] = button18;
  411.         myButton[18] = button19;
  412.         myButton[19] = button20;
  413.         myButton[20] = button21;
  414.         myButton[21] = button22;
  415.         myButton[22] = button23;
  416.         myButton[23] = button24;
  417.         myButton[24] = button25;
  418.         myButton[25] = button26;
  419.         myButton[26] = button27;
  420.         myButton[27] = button28;
  421.         myButton[28] = button29;
  422.         myButton[29] = button30;
  423.         myButton[30] = button31;
  424.         myButton[31] = button32;
  425.         myButton[32] = button33;
  426.         myButton[33] = button34;
  427.         myButton[34] = button35;
  428.         myButton[35] = button36;
  429.         myButton[36] = button37;
  430.         myButton[37] = button38;
  431.         myButton[38] = button39;
  432.         myButton[39] = button40;
  433.         myButton[40] = button41;
  434.         myButton[41] = button42;
  435.     }
  436.     
  437.     /**
  438.      * Find out today's date and set up the calendar to display the correct
  439.      * month and year
  440.      */
  441.     public void start()
  442.     {
  443.         SetButtonArray();
  444.         Date todaydate = new Date();
  445.         setMonthString(todaydate);
  446.         setCalendar(todaydate);
  447.     }
  448.  
  449.     /**
  450.      * Given a Date, set up the calendar elements to display the
  451.      * appropriate dates on the appropriate calendar buttons.
  452.      */
  453.     private void setCalendar(Date dt)
  454.     {
  455.         //clear calendar
  456.         for(int i = 0; i < 42; i++)
  457.         {
  458.             myButton[i].setLabel("");
  459.         }
  460.  
  461.         int thisMo = dt.getMonth();
  462.         int thisDy = dt.getDay();
  463.         int thisYr = dt.getYear();
  464.  
  465.         //Find the day of the week of the first
  466.         Date firstday = new Date(thisYr, thisMo, 1);
  467.         int dayoffirst = firstday.getDay();
  468.         buttonShift = dayoffirst;
  469.  
  470.         int dayspermonth = getDaysPerMonth(thisMo);
  471.         for(int i = 1; i < dayspermonth+1; i++)
  472.         {
  473.             myButton[i+buttonShift-1].setLabel(Integer.toString(i));
  474.         }
  475.     }
  476.  
  477.  
  478.     /**
  479.      * Given a Date, set the text field to display it as a
  480.      * string containing the month and the year.
  481.      */
  482.     private void setMonthString(Date dt)
  483.     {
  484.         thismonth = dt.getMonth();
  485.         thisyear = dt.getYear();
  486.         
  487.         String monthstring = getMonth(thismonth);
  488.         
  489.         String temp = (monthstring +" ");
  490.         temp = temp + (Integer.toString(1900 + thisyear));
  491.         date.setText(temp);
  492.     }
  493.     
  494.     /**
  495.      * Given the month number, returns a string containing the month.
  496.      */
  497.     private String getMonth(int month)
  498.     {
  499.         String monthstring;
  500.  
  501.         switch(month)
  502.         {
  503.             case 0:
  504.                 monthstring = "January";
  505.                 break;
  506.             case 1:
  507.                 monthstring = "February";
  508.                 break;
  509.             case 2:
  510.                 monthstring = "March";
  511.                 break;
  512.             case 3:
  513.                 monthstring = "April";
  514.                 break;
  515.             case 4:
  516.                 monthstring = "May";
  517.                 break;
  518.             case 5:
  519.                 monthstring = "June";
  520.                 break;
  521.             case 6:
  522.                 monthstring = "July";
  523.                 break;
  524.             case 7:
  525.                 monthstring = "August";
  526.                 break;
  527.             case 8:
  528.                 monthstring = "September";
  529.                 break;
  530.             case 9:
  531.                 monthstring = "October";
  532.                 break;
  533.             case 10:
  534.                 monthstring = "November";
  535.                 break;
  536.             case 11:
  537.                 monthstring = "December";
  538.                 break;
  539.              default:
  540.                 monthstring = "Month";
  541.                 break;
  542.             }
  543.             
  544.             return monthstring;
  545.     }
  546.  
  547.  
  548.     /**
  549.      * Increments the calendar (both Mo/Yr text field and date buttons)
  550.      * to the next sequential month/year combination.
  551.      */
  552.     private void incrementCalendar()
  553.     {
  554.         thismonth += 1;
  555.         if(thismonth > 12)
  556.         {
  557.             thismonth = 0;
  558.             thisyear += 1;
  559.         }
  560.         Date incDate = new Date(thisyear, thismonth, 1);
  561.         setMonthString(incDate);
  562.         setCalendar(incDate);
  563.         
  564.         java.lang.String[] tempString = new java.lang.String[1];
  565.         tempString[0] = new java.lang.String(getMonth(thismonth)+ " " +(Integer.toString(1900 + thisyear)));
  566.         
  567.         try 
  568.         {
  569.             scrollingTextDisplayDate.setMessageList(tempString);
  570.         }
  571.         catch(java.beans.PropertyVetoException e) { }
  572.     }
  573.  
  574.  
  575.     /**
  576.      * Decrements the calendar (both Mo/Yr text field and date buttons)
  577.      * to the previous sequential month/year combination.
  578.      */
  579.     private void decrementCalendar()
  580.     {
  581.         thismonth -= 1;
  582.         if(thismonth < 0)
  583.         {
  584.             thismonth = 11;
  585.             thisyear -= 1;
  586.         }
  587.         Date decDate = new Date(thisyear, thismonth, 1);
  588.         setMonthString(decDate);
  589.         setCalendar(decDate);
  590.  
  591.         java.lang.String[] tempString = new java.lang.String[1];
  592.         tempString[0] = new java.lang.String(getMonth(thismonth)+ " " +(Integer.toString(1900 + thisyear)));
  593.         
  594.         try 
  595.         {
  596.             scrollingTextDisplayDate.setMessageList(tempString);
  597.         }
  598.         catch(java.beans.PropertyVetoException e) { }
  599.     }
  600.  
  601.     /**
  602.      * Given a month (represented as an integer), return the
  603.      * number of days in that month (corrects for leap years).
  604.      */
  605.     private int getDaysPerMonth(int m)
  606.     {
  607.         switch(m)
  608.         {
  609.             case 0:
  610.                 days = 31;
  611.                 break;
  612.  
  613.             case 1:
  614.                 //Correct for a leap year
  615.                 int tempYear = 1900 + thisyear;
  616.                 if((tempYear % 4) == 0)         // Could be leap
  617.                 {
  618.                     if((tempYear % 100) == 0 && // Centuries aren't
  619.                        (tempYear % 400) != 0)   // Except every 4th
  620.                         days = 28;
  621.                     else
  622.                         days = 29;
  623.                     break;
  624.                 }
  625.                 days = 28;
  626.                 break;
  627.  
  628.             case 2:
  629.                 days = 31;
  630.                 break;
  631.  
  632.             case 3:
  633.                 days = 30;
  634.                 break;
  635.             case 4:
  636.                 days = 31;
  637.                 break;
  638.  
  639.             case 5:
  640.                 days = 30;
  641.                 break;
  642.  
  643.             case 6:
  644.                 days = 31;
  645.                 break;
  646.  
  647.             case 7:
  648.                 days = 31;
  649.                 break;
  650.  
  651.             case 8:
  652.                 days = 30;
  653.                 break;
  654.  
  655.             case 9:
  656.                 days = 31;
  657.                 break;
  658.  
  659.             case 10:
  660.                 days = 30;
  661.                 break;
  662.  
  663.             case 11:
  664.                 days = 31;
  665.                 break;
  666.  
  667.             default:
  668.                 days = 31;
  669.                 break;
  670.          }
  671.           return days;
  672.     }
  673.  
  674.  
  675.     /**
  676.      * return the date that was selected by pushing a button
  677.      * on the calendar
  678.      */
  679.     private Date getDateSelected()
  680.     {
  681.         dateSelected = new Date(thisyear, thismonth, dayselected);
  682.         return dateSelected;
  683.     }
  684.  
  685.  
  686.     /**
  687.      * Given a date, set the scrolling text message
  688.      */
  689.     private void displayBannerText(Date dt)
  690.     {
  691.         int tempMo = (dt.getMonth()) + 1;
  692.         int tempYr = (dt.getYear());
  693.         int tempDy = (dt.getDate());
  694.         
  695.         java.lang.String[] tempString = new java.lang.String[1];
  696.            tempString[0] = new java.lang.String("You selected ");
  697.         tempString[0] += Integer.toString(tempMo);
  698.         tempString[0] += "/" + Integer.toString(tempDy);
  699.         tempString[0] += "/" + Integer.toString(tempYr);
  700.         
  701.         try 
  702.         {
  703.             scrollingTextDisplayDate.setMessageList(tempString);
  704.         }
  705.         catch(java.beans.PropertyVetoException e) { }
  706.      }
  707.  
  708.     class Mouse extends java.awt.event.MouseAdapter
  709.     {
  710.         public void mouseClicked(java.awt.event.MouseEvent event)
  711.         {
  712.             Object object = event.getSource();
  713.             if (object == rightButton)
  714.                 rightButton_MouseClick(event);
  715.             else if (object == leftButton)
  716.                 leftButton_MouseClick(event);
  717.             else if (object == button1)
  718.                 dateButtons_MouseClick(event,button1);
  719.             else if (object == button2)
  720.                 dateButtons_MouseClick(event,button2);
  721.             else if (object == button3)
  722.                 dateButtons_MouseClick(event,button3);
  723.             else if (object == button4)
  724.                 dateButtons_MouseClick(event,button4);
  725.             else if (object == button5)
  726.                 dateButtons_MouseClick(event,button5);
  727.             else if (object == button6)
  728.                 dateButtons_MouseClick(event,button6);
  729.             else if (object == button7)
  730.                 dateButtons_MouseClick(event,button7);
  731.             else if (object == button8)
  732.                 dateButtons_MouseClick(event,button8);
  733.             else if (object == button9)
  734.                 dateButtons_MouseClick(event,button9);
  735.             else if (object == button10)
  736.                 dateButtons_MouseClick(event,button10);
  737.             else if (object == button11)
  738.                 dateButtons_MouseClick(event,button11);
  739.             else if (object == button12)
  740.                 dateButtons_MouseClick(event,button12);
  741.             else if (object == button13)
  742.                 dateButtons_MouseClick(event,button13);
  743.             else if (object == button14)
  744.                 dateButtons_MouseClick(event,button14);
  745.             else if (object == button15)
  746.                 dateButtons_MouseClick(event,button15);
  747.             else if (object == button16)
  748.                 dateButtons_MouseClick(event,button16);
  749.             else if (object == button17)
  750.                 dateButtons_MouseClick(event,button17);
  751.             else if (object == button18)
  752.                 dateButtons_MouseClick(event,button18);
  753.             else if (object == button19)
  754.                 dateButtons_MouseClick(event,button19);
  755.             else if (object == button20)
  756.                 dateButtons_MouseClick(event,button20);
  757.             else if (object == button21)
  758.                 dateButtons_MouseClick(event,button21);
  759.             else if (object == button22)
  760.                 dateButtons_MouseClick(event,button22);
  761.             else if (object == button23)
  762.                 dateButtons_MouseClick(event,button23);
  763.             else if (object == button24)
  764.                 dateButtons_MouseClick(event,button24);
  765.             else if (object == button25)
  766.                 dateButtons_MouseClick(event,button25);
  767.             else if (object == button26)
  768.                 dateButtons_MouseClick(event,button26);
  769.             else if (object == button27)
  770.                 dateButtons_MouseClick(event,button27);
  771.             else if (object == button28)
  772.                 dateButtons_MouseClick(event,button28);
  773.             else if (object == button29)
  774.                 dateButtons_MouseClick(event,button29);
  775.             else if (object == button30)
  776.                 dateButtons_MouseClick(event,button30);
  777.             else if (object == button31)
  778.                 dateButtons_MouseClick(event,button31);
  779.             else if (object == button32)
  780.                 dateButtons_MouseClick(event,button32);
  781.             else if (object == button33)
  782.                 dateButtons_MouseClick(event,button33);
  783.             else if (object == button34)
  784.                 dateButtons_MouseClick(event,button34);
  785.             else if (object == button35)
  786.                 dateButtons_MouseClick(event,button35);
  787.             else if (object == button36)
  788.                 dateButtons_MouseClick(event,button36);
  789.             else if (object == button37)
  790.                 dateButtons_MouseClick(event,button37);
  791.             else if (object == button38)
  792.                 dateButtons_MouseClick(event,button38);
  793.             else if (object == button39)
  794.                 dateButtons_MouseClick(event,button39);
  795.             else if (object == button40)
  796.                 dateButtons_MouseClick(event,button40);
  797.             else if (object == button41)
  798.                 dateButtons_MouseClick(event,button41);
  799.             else if (object == button42)
  800.                 dateButtons_MouseClick(event,button42);
  801.         }
  802.     }
  803.  
  804.     /**
  805.      * Handles mouse click on the increment month button
  806.      */
  807.     void rightButton_MouseClick(java.awt.event.MouseEvent event)
  808.     {
  809.         incrementCalendar();
  810.     }
  811.  
  812.     /**
  813.      * Handles mouse click on the decrement month button
  814.      */
  815.     void leftButton_MouseClick(java.awt.event.MouseEvent event)
  816.     {
  817.         decrementCalendar();
  818.     }
  819.  
  820.     /**
  821.      * Handles mouse click on any day button
  822.      */
  823.     void dateButtons_MouseClick(java.awt.event.MouseEvent event,Button button)
  824.     {
  825.         String label = button.getLabel();
  826.         
  827.         if(label != "")
  828.         {
  829.             Integer tempInt = new Integer(label);
  830.             dayselected = tempInt.intValue();
  831.             dateSelected = getDateSelected();
  832.             displayBannerText(dateSelected);
  833.         }
  834.     }
  835. }