home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Chip 1998 November
/
Chip_1998-11_cd.bin
/
tema
/
Cafe
/
WDESAMPL.BIN
/
Calendar.java
< prev
next >
Wrap
Text File
|
1998-02-26
|
27KB
|
835 lines
/*
* Title: Calendar
* Type: Applet
* Source: Calendar.java
* Application Description: Display a calendar window with the
* month/year selected by the user. When a date is selected,
* a it is displayed in the scrolling text box at the top.
*
* Symantec Corporation.
*/
import java.awt.*;
import java.applet.*;
import java.util.Date;
import java.util.Hashtable;
import symantec.itools.awt.util.StatusScroller;
import symantec.itools.multimedia.ScrollingText;
public class Calendar extends Applet
{
//{{DECLARE_CONTROLS
java.awt.Panel dayPanel;
java.awt.Label sunLabel;
java.awt.Label monLabel;
java.awt.Label tueLabel;
java.awt.Label wedLabel;
java.awt.Label thursLabel;
java.awt.Label friLabel;
java.awt.Label satLabel;
java.awt.Panel datePanel;
java.awt.Button button1;
java.awt.Button button2;
java.awt.Button button3;
java.awt.Button button4;
java.awt.Button button5;
java.awt.Button button6;
java.awt.Button button7;
java.awt.Button button8;
java.awt.Button button9;
java.awt.Button button10;
java.awt.Button button11;
java.awt.Button button12;
java.awt.Button button13;
java.awt.Button button14;
java.awt.Button button15;
java.awt.Button button16;
java.awt.Button button17;
java.awt.Button button18;
java.awt.Button button19;
java.awt.Button button20;
java.awt.Button button21;
java.awt.Button button22;
java.awt.Button button23;
java.awt.Button button24;
java.awt.Button button25;
java.awt.Button button26;
java.awt.Button button27;
java.awt.Button button28;
java.awt.Button button29;
java.awt.Button button30;
java.awt.Button button31;
java.awt.Button button32;
java.awt.Button button33;
java.awt.Button button34;
java.awt.Button button35;
java.awt.Button button36;
java.awt.Button button37;
java.awt.Button button38;
java.awt.Button button39;
java.awt.Button button40;
java.awt.Button button41;
java.awt.Button button42;
java.awt.Panel selPanel;
java.awt.Button rightButton;
java.awt.TextField date;
java.awt.Button leftButton;
symantec.itools.multimedia.ScrollingText scrollingTextDisplayDate;
//}}
Button myButton[]; // The calendar date buttons
boolean loaded = true;
Graphics textGC;
int thismonth; // App. variable
int thisyear; // App. variable
int days; // App. variable
int dayselected; // App. variable
Date dateSelected; // User-selected Date object
int buttonShift; // Used to determine what day the
// 1st of the month falls on
public void init()
{
// Take out this line if you don't use symantec.itools.net.RelativeURL or symantec.itools.awt.util.StatusScroller
symantec.itools.lang.Context.setApplet(this);
// This code is automatically generated by Visual Cafe when you add
// components to the visual environment. It instantiates and initializes
// the components. To modify the code, only use code syntax that matches
// what Visual Cafe can generate, or Visual Cafe may be unable to back
// parse your Java file into its visual environment.
//{{INIT_CONTROLS
setLayout(null);
setSize(421,369);
setFont(new Font("Dialog", Font.PLAIN, 12));
setForeground(new Color(0));
setBackground(new Color(16777215));
dayPanel = new java.awt.Panel();
dayPanel.setLayout(new GridLayout(1,7,5,5));
dayPanel.setBounds(24,84,372,26);
dayPanel.setBackground(new Color(12632256));
add(dayPanel);
sunLabel = new java.awt.Label("Sun",Label.CENTER);
sunLabel.setBounds(0,0,372,26);
dayPanel.add(sunLabel);
monLabel = new java.awt.Label("Mon",Label.CENTER);
monLabel.setBounds(53,0,183,26);
dayPanel.add(monLabel);
tueLabel = new java.awt.Label("Tue",Label.CENTER);
tueLabel.setBounds(106,0,120,26);
dayPanel.add(tueLabel);
wedLabel = new java.awt.Label("Wed",Label.CENTER);
wedLabel.setBounds(159,0,70,26);
dayPanel.add(wedLabel);
thursLabel = new java.awt.Label("Thur",Label.CENTER);
thursLabel.setBounds(212,0,48,26);
dayPanel.add(thursLabel);
friLabel = new java.awt.Label("Fri",Label.CENTER);
friLabel.setBounds(265,0,48,26);
dayPanel.add(friLabel);
satLabel = new java.awt.Label("Sat",Label.CENTER);
satLabel.setBounds(318,0,48,26);
dayPanel.add(satLabel);
datePanel = new java.awt.Panel();
datePanel.setLayout(new GridLayout(6,7,1,1));
datePanel.setBounds(24,120,374,214);
add(datePanel);
button1 = new java.awt.Button();
button1.setActionCommand("button");
button1.setBounds(0,0,374,34);
datePanel.add(button1);
button2 = new java.awt.Button();
button2.setActionCommand("button");
button2.setBounds(53,0,52,34);
datePanel.add(button2);
button3 = new java.awt.Button();
button3.setActionCommand("button");
button3.setBounds(106,0,52,34);
datePanel.add(button3);
button4 = new java.awt.Button();
button4.setActionCommand("button");
button4.setBounds(159,0,52,34);
datePanel.add(button4);
button5 = new java.awt.Button();
button5.setActionCommand("button");
button5.setBounds(212,0,52,34);
datePanel.add(button5);
button6 = new java.awt.Button();
button6.setActionCommand("button");
button6.setBounds(265,0,52,34);
datePanel.add(button6);
button7 = new java.awt.Button();
button7.setActionCommand("button");
button7.setBounds(318,0,52,34);
datePanel.add(button7);
button8 = new java.awt.Button();
button8.setActionCommand("button");
button8.setBounds(0,35,92,34);
datePanel.add(button8);
button9 = new java.awt.Button();
button9.setActionCommand("button");
button9.setBounds(53,35,52,34);
datePanel.add(button9);
button10 = new java.awt.Button();
button10.setActionCommand("button");
button10.setBounds(106,35,52,34);
datePanel.add(button10);
button11 = new java.awt.Button();
button11.setActionCommand("button");
button11.setBounds(159,35,52,34);
datePanel.add(button11);
button12 = new java.awt.Button();
button12.setActionCommand("button");
button12.setBounds(212,35,52,34);
datePanel.add(button12);
button13 = new java.awt.Button();
button13.setActionCommand("button");
button13.setBounds(265,35,52,34);
datePanel.add(button13);
button14 = new java.awt.Button();
button14.setActionCommand("button");
button14.setBounds(318,35,52,34);
datePanel.add(button14);
button15 = new java.awt.Button();
button15.setActionCommand("button");
button15.setBounds(0,70,61,34);
datePanel.add(button15);
button16 = new java.awt.Button();
button16.setActionCommand("button");
button16.setBounds(53,70,92,34);
datePanel.add(button16);
button17 = new java.awt.Button();
button17.setActionCommand("button");
button17.setBounds(106,70,52,34);
datePanel.add(button17);
button18 = new java.awt.Button();
button18.setActionCommand("button");
button18.setBounds(159,70,52,34);
datePanel.add(button18);
button19 = new java.awt.Button();
button19.setActionCommand("button");
button19.setBounds(212,70,52,34);
datePanel.add(button19);
button20 = new java.awt.Button();
button20.setActionCommand("button");
button20.setBounds(265,70,74,34);
datePanel.add(button20);
button21 = new java.awt.Button();
button21.setActionCommand("button");
button21.setBounds(318,70,52,34);
datePanel.add(button21);
button22 = new java.awt.Button();
button22.setActionCommand("button");
button22.setBounds(0,105,52,34);
datePanel.add(button22);
button23 = new java.awt.Button();
button23.setActionCommand("button");
button23.setBounds(53,105,61,34);
datePanel.add(button23);
button24 = new java.awt.Button();
button24.setActionCommand("button");
button24.setBounds(106,105,52,34);
datePanel.add(button24);
button25 = new java.awt.Button();
button25.setActionCommand("button");
button25.setBounds(159,105,61,34);
datePanel.add(button25);
button26 = new java.awt.Button();
button26.setActionCommand("button");
button26.setBounds(212,105,52,34);
datePanel.add(button26);
button27 = new java.awt.Button();
button27.setActionCommand("button");
button27.setBounds(265,105,74,34);
datePanel.add(button27);
button28 = new java.awt.Button();
button28.setActionCommand("button");
button28.setBounds(318,105,52,34);
datePanel.add(button28);
button29 = new java.awt.Button();
button29.setActionCommand("button");
button29.setBounds(0,140,52,34);
datePanel.add(button29);
button30 = new java.awt.Button();
button30.setActionCommand("button");
button30.setBounds(53,140,61,34);
datePanel.add(button30);
button31 = new java.awt.Button();
button31.setActionCommand("button");
button31.setBounds(106,140,52,34);
datePanel.add(button31);
button32 = new java.awt.Button();
button32.setActionCommand("button");
button32.setBounds(159,140,52,34);
datePanel.add(button32);
button33 = new java.awt.Button();
button33.setActionCommand("button");
button33.setBounds(212,140,52,34);
datePanel.add(button33);
button34 = new java.awt.Button();
button34.setActionCommand("button");
button34.setBounds(265,140,61,34);
datePanel.add(button34);
button35 = new java.awt.Button();
button35.setActionCommand("button");
button35.setBounds(318,140,52,34);
datePanel.add(button35);
button36 = new java.awt.Button();
button36.setActionCommand("button");
button36.setBounds(0,175,52,34);
datePanel.add(button36);
button37 = new java.awt.Button();
button37.setActionCommand("button");
button37.setBounds(53,175,52,34);
datePanel.add(button37);
button38 = new java.awt.Button();
button38.setActionCommand("button");
button38.setBounds(106,175,52,34);
datePanel.add(button38);
button39 = new java.awt.Button();
button39.setActionCommand("button");
button39.setBounds(159,175,52,34);
datePanel.add(button39);
button40 = new java.awt.Button();
button40.setActionCommand("button");
button40.setBounds(212,175,52,34);
datePanel.add(button40);
button41 = new java.awt.Button();
button41.setActionCommand("button");
button41.setBounds(265,175,52,34);
datePanel.add(button41);
button42 = new java.awt.Button();
button42.setActionCommand("button");
button42.setBounds(318,175,52,34);
datePanel.add(button42);
selPanel = new java.awt.Panel();
selPanel.setLayout(null);
selPanel.setBounds(24,48,372,24);
selPanel.setBackground(new Color(16777215));
add(selPanel);
rightButton = new java.awt.Button();
rightButton.setLabel(">>>");
rightButton.setBounds(288,0,38,26);
rightButton.setBackground(new Color(12632256));
selPanel.add(rightButton);
date = new java.awt.TextField();
date.setEditable(false);
date.setBounds(132,0,120,24);
selPanel.add(date);
leftButton = new java.awt.Button();
leftButton.setLabel("<<<");
leftButton.setBounds(60,0,36,24);
leftButton.setBackground(new Color(12632256));
selPanel.add(leftButton);
scrollingTextDisplayDate = new symantec.itools.multimedia.ScrollingText();
try {
java.lang.String[] tempString = new java.lang.String[1];
tempString[0] = new java.lang.String("Welcome to the JAVA Calender!!");
scrollingTextDisplayDate.setMessageList(tempString);
}
catch(java.beans.PropertyVetoException e) { }
scrollingTextDisplayDate.setBounds(24,12,372,24);
scrollingTextDisplayDate.setFont(new Font("Dialog", Font.BOLD, 12));
scrollingTextDisplayDate.setForeground(new Color(16777215));
scrollingTextDisplayDate.setBackground(new Color(255));
add(scrollingTextDisplayDate);
scrollingTextDisplayDate.setEnabled(false);
//}}
//{{REGISTER_LISTENERS
Mouse lMouse = new Mouse();
rightButton.addMouseListener(lMouse);
leftButton.addMouseListener(lMouse);
button1.addMouseListener(lMouse);
button2.addMouseListener(lMouse);
button3.addMouseListener(lMouse);
button4.addMouseListener(lMouse);
button5.addMouseListener(lMouse);
button6.addMouseListener(lMouse);
button7.addMouseListener(lMouse);
button8.addMouseListener(lMouse);
button9.addMouseListener(lMouse);
button10.addMouseListener(lMouse);
button11.addMouseListener(lMouse);
button12.addMouseListener(lMouse);
button13.addMouseListener(lMouse);
button14.addMouseListener(lMouse);
button15.addMouseListener(lMouse);
button16.addMouseListener(lMouse);
button17.addMouseListener(lMouse);
button18.addMouseListener(lMouse);
button19.addMouseListener(lMouse);
button20.addMouseListener(lMouse);
button21.addMouseListener(lMouse);
button22.addMouseListener(lMouse);
button23.addMouseListener(lMouse);
button24.addMouseListener(lMouse);
button25.addMouseListener(lMouse);
button26.addMouseListener(lMouse);
button27.addMouseListener(lMouse);
button28.addMouseListener(lMouse);
button29.addMouseListener(lMouse);
button30.addMouseListener(lMouse);
button31.addMouseListener(lMouse);
button32.addMouseListener(lMouse);
button33.addMouseListener(lMouse);
button34.addMouseListener(lMouse);
button35.addMouseListener(lMouse);
button36.addMouseListener(lMouse);
button37.addMouseListener(lMouse);
button38.addMouseListener(lMouse);
button39.addMouseListener(lMouse);
button40.addMouseListener(lMouse);
button41.addMouseListener(lMouse);
button42.addMouseListener(lMouse);
//}}
}
/**
* Adds all the day buttons to an array
*/
public void SetButtonArray()
{
myButton = new Button[42];
myButton[0] = button1;
myButton[1] = button2;
myButton[2] = button3;
myButton[3] = button4;
myButton[4] = button5;
myButton[5] = button6;
myButton[6] = button7;
myButton[7] = button8;
myButton[8] = button9;
myButton[9] = button10;
myButton[10] = button11;
myButton[11] = button12;
myButton[12] = button13;
myButton[13] = button14;
myButton[14] = button15;
myButton[15] = button16;
myButton[16] = button17;
myButton[17] = button18;
myButton[18] = button19;
myButton[19] = button20;
myButton[20] = button21;
myButton[21] = button22;
myButton[22] = button23;
myButton[23] = button24;
myButton[24] = button25;
myButton[25] = button26;
myButton[26] = button27;
myButton[27] = button28;
myButton[28] = button29;
myButton[29] = button30;
myButton[30] = button31;
myButton[31] = button32;
myButton[32] = button33;
myButton[33] = button34;
myButton[34] = button35;
myButton[35] = button36;
myButton[36] = button37;
myButton[37] = button38;
myButton[38] = button39;
myButton[39] = button40;
myButton[40] = button41;
myButton[41] = button42;
}
/**
* Find out today's date and set up the calendar to display the correct
* month and year
*/
public void start()
{
SetButtonArray();
Date todaydate = new Date();
setMonthString(todaydate);
setCalendar(todaydate);
}
/**
* Given a Date, set up the calendar elements to display the
* appropriate dates on the appropriate calendar buttons.
*/
private void setCalendar(Date dt)
{
//clear calendar
for(int i = 0; i < 42; i++)
{
myButton[i].setLabel("");
}
int thisMo = dt.getMonth();
int thisDy = dt.getDay();
int thisYr = dt.getYear();
//Find the day of the week of the first
Date firstday = new Date(thisYr, thisMo, 1);
int dayoffirst = firstday.getDay();
buttonShift = dayoffirst;
int dayspermonth = getDaysPerMonth(thisMo);
for(int i = 1; i < dayspermonth+1; i++)
{
myButton[i+buttonShift-1].setLabel(Integer.toString(i));
}
}
/**
* Given a Date, set the text field to display it as a
* string containing the month and the year.
*/
private void setMonthString(Date dt)
{
thismonth = dt.getMonth();
thisyear = dt.getYear();
String monthstring = getMonth(thismonth);
String temp = (monthstring +" ");
temp = temp + (Integer.toString(1900 + thisyear));
date.setText(temp);
}
/**
* Given the month number, returns a string containing the month.
*/
private String getMonth(int month)
{
String monthstring;
switch(month)
{
case 0:
monthstring = "January";
break;
case 1:
monthstring = "February";
break;
case 2:
monthstring = "March";
break;
case 3:
monthstring = "April";
break;
case 4:
monthstring = "May";
break;
case 5:
monthstring = "June";
break;
case 6:
monthstring = "July";
break;
case 7:
monthstring = "August";
break;
case 8:
monthstring = "September";
break;
case 9:
monthstring = "October";
break;
case 10:
monthstring = "November";
break;
case 11:
monthstring = "December";
break;
default:
monthstring = "Month";
break;
}
return monthstring;
}
/**
* Increments the calendar (both Mo/Yr text field and date buttons)
* to the next sequential month/year combination.
*/
private void incrementCalendar()
{
thismonth += 1;
if(thismonth > 12)
{
thismonth = 0;
thisyear += 1;
}
Date incDate = new Date(thisyear, thismonth, 1);
setMonthString(incDate);
setCalendar(incDate);
java.lang.String[] tempString = new java.lang.String[1];
tempString[0] = new java.lang.String(getMonth(thismonth)+ " " +(Integer.toString(1900 + thisyear)));
try
{
scrollingTextDisplayDate.setMessageList(tempString);
}
catch(java.beans.PropertyVetoException e) { }
}
/**
* Decrements the calendar (both Mo/Yr text field and date buttons)
* to the previous sequential month/year combination.
*/
private void decrementCalendar()
{
thismonth -= 1;
if(thismonth < 0)
{
thismonth = 11;
thisyear -= 1;
}
Date decDate = new Date(thisyear, thismonth, 1);
setMonthString(decDate);
setCalendar(decDate);
java.lang.String[] tempString = new java.lang.String[1];
tempString[0] = new java.lang.String(getMonth(thismonth)+ " " +(Integer.toString(1900 + thisyear)));
try
{
scrollingTextDisplayDate.setMessageList(tempString);
}
catch(java.beans.PropertyVetoException e) { }
}
/**
* Given a month (represented as an integer), return the
* number of days in that month (corrects for leap years).
*/
private int getDaysPerMonth(int m)
{
switch(m)
{
case 0:
days = 31;
break;
case 1:
//Correct for a leap year
int tempYear = 1900 + thisyear;
if((tempYear % 4) == 0) // Could be leap
{
if((tempYear % 100) == 0 && // Centuries aren't
(tempYear % 400) != 0) // Except every 4th
days = 28;
else
days = 29;
break;
}
days = 28;
break;
case 2:
days = 31;
break;
case 3:
days = 30;
break;
case 4:
days = 31;
break;
case 5:
days = 30;
break;
case 6:
days = 31;
break;
case 7:
days = 31;
break;
case 8:
days = 30;
break;
case 9:
days = 31;
break;
case 10:
days = 30;
break;
case 11:
days = 31;
break;
default:
days = 31;
break;
}
return days;
}
/**
* return the date that was selected by pushing a button
* on the calendar
*/
private Date getDateSelected()
{
dateSelected = new Date(thisyear, thismonth, dayselected);
return dateSelected;
}
/**
* Given a date, set the scrolling text message
*/
private void displayBannerText(Date dt)
{
int tempMo = (dt.getMonth()) + 1;
int tempYr = (dt.getYear());
int tempDy = (dt.getDate());
java.lang.String[] tempString = new java.lang.String[1];
tempString[0] = new java.lang.String("You selected ");
tempString[0] += Integer.toString(tempMo);
tempString[0] += "/" + Integer.toString(tempDy);
tempString[0] += "/" + Integer.toString(tempYr);
try
{
scrollingTextDisplayDate.setMessageList(tempString);
}
catch(java.beans.PropertyVetoException e) { }
}
class Mouse extends java.awt.event.MouseAdapter
{
public void mouseClicked(java.awt.event.MouseEvent event)
{
Object object = event.getSource();
if (object == rightButton)
rightButton_MouseClick(event);
else if (object == leftButton)
leftButton_MouseClick(event);
else if (object == button1)
dateButtons_MouseClick(event,button1);
else if (object == button2)
dateButtons_MouseClick(event,button2);
else if (object == button3)
dateButtons_MouseClick(event,button3);
else if (object == button4)
dateButtons_MouseClick(event,button4);
else if (object == button5)
dateButtons_MouseClick(event,button5);
else if (object == button6)
dateButtons_MouseClick(event,button6);
else if (object == button7)
dateButtons_MouseClick(event,button7);
else if (object == button8)
dateButtons_MouseClick(event,button8);
else if (object == button9)
dateButtons_MouseClick(event,button9);
else if (object == button10)
dateButtons_MouseClick(event,button10);
else if (object == button11)
dateButtons_MouseClick(event,button11);
else if (object == button12)
dateButtons_MouseClick(event,button12);
else if (object == button13)
dateButtons_MouseClick(event,button13);
else if (object == button14)
dateButtons_MouseClick(event,button14);
else if (object == button15)
dateButtons_MouseClick(event,button15);
else if (object == button16)
dateButtons_MouseClick(event,button16);
else if (object == button17)
dateButtons_MouseClick(event,button17);
else if (object == button18)
dateButtons_MouseClick(event,button18);
else if (object == button19)
dateButtons_MouseClick(event,button19);
else if (object == button20)
dateButtons_MouseClick(event,button20);
else if (object == button21)
dateButtons_MouseClick(event,button21);
else if (object == button22)
dateButtons_MouseClick(event,button22);
else if (object == button23)
dateButtons_MouseClick(event,button23);
else if (object == button24)
dateButtons_MouseClick(event,button24);
else if (object == button25)
dateButtons_MouseClick(event,button25);
else if (object == button26)
dateButtons_MouseClick(event,button26);
else if (object == button27)
dateButtons_MouseClick(event,button27);
else if (object == button28)
dateButtons_MouseClick(event,button28);
else if (object == button29)
dateButtons_MouseClick(event,button29);
else if (object == button30)
dateButtons_MouseClick(event,button30);
else if (object == button31)
dateButtons_MouseClick(event,button31);
else if (object == button32)
dateButtons_MouseClick(event,button32);
else if (object == button33)
dateButtons_MouseClick(event,button33);
else if (object == button34)
dateButtons_MouseClick(event,button34);
else if (object == button35)
dateButtons_MouseClick(event,button35);
else if (object == button36)
dateButtons_MouseClick(event,button36);
else if (object == button37)
dateButtons_MouseClick(event,button37);
else if (object == button38)
dateButtons_MouseClick(event,button38);
else if (object == button39)
dateButtons_MouseClick(event,button39);
else if (object == button40)
dateButtons_MouseClick(event,button40);
else if (object == button41)
dateButtons_MouseClick(event,button41);
else if (object == button42)
dateButtons_MouseClick(event,button42);
}
}
/**
* Handles mouse click on the increment month button
*/
void rightButton_MouseClick(java.awt.event.MouseEvent event)
{
incrementCalendar();
}
/**
* Handles mouse click on the decrement month button
*/
void leftButton_MouseClick(java.awt.event.MouseEvent event)
{
decrementCalendar();
}
/**
* Handles mouse click on any day button
*/
void dateButtons_MouseClick(java.awt.event.MouseEvent event,Button button)
{
String label = button.getLabel();
if(label != "")
{
Integer tempInt = new Integer(label);
dayselected = tempInt.intValue();
dateSelected = getDateSelected();
displayBannerText(dateSelected);
}
}
}