Hi, I have to reuse the code given below for displaying a calendar according to the month and year specified by user ...currently this code is fetching systme date and genrating calendar for that... my question is how to pass the variable month and year to this java code to get calendar for that year
[CODE=java] package com.cj.htmlcal;
import java.text.Simpl eDateFormat;
import java.util.*;
public class HtmlCalendar
{
private static final String VERSION = "ver. 1.6";
private static String NEWLINE = "\n";
public static final int MONDAY_FIRST = 1;
public static final int SUNDAY_FIRST = 2;
private Hashtable cnf;
private static final String Mnth[] = {
"Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct",
"Nov", "Dec"
};
private int year;
private int month;
private int style;
private String sFont;
private Locale loc;
public HtmlCalendar()
{
sFont = null;
GregorianCalend ar gregoriancalend ar = new GregorianCalend ar();
cnf = new Hashtable();
NEWLINE = System.getPrope rty("line.separ ator");
style = 2;
month = gregoriancalend ar.get(2) + 1;
year = gregoriancalend ar.get(1);
loc = Locale.US;
}
public void setLocale(Local e locale)
{
loc = locale;
}
public Locale getLocale()
{
return loc;
}
public void setYear(int i)
{
if(i > 0)
{
year = i;
cnf.clear();
}
}
public int getYear()
{
return year;
}
public void setMonth(int i)
{
if(i >= 1 && i <= 12)
{
month = i;
cnf.clear();
}
}
public int getMonth()
{
return month;
}
public void setStyle(int i)
{
style = i;
}
public int getStyle()
{
return style;
}
private int getDay(Calendar calendar)
{
if(style == 2)
return calendar.get(7) - 1;
else
return (calendar.get(7 ) + 5) % 7;
}
public void setActions(Stri ng s, String s1)
{
for(int i = 1; i <= 31; i++)
setAction(i, s, s1);
}
public void setAction(int i, String s, String s1)
{
if(s != null)
{
cnf.put("" + i, s);
if(s1 != null && s1.length() > 0)
cnf.put(i + "target", s1);
}
}
public String getHtml()
{
GregorianCalend ar gregoriancalend ar = new GregorianCalend ar(year, month - 1, 1);
GregorianCalend ar gregoriancalend ar1 = new GregorianCalend ar(2001, 0, 14);
SimpleDateForma t simpledateforma t = new SimpleDateForma t("EEE", loc);
int i = month - 1;
int j = 0;
StringBuffer stringbuffer = new StringBuffer("" );
stringbuffer.ap pend("<table>\n ");
if(style == 2)
{
stringbuffer.ap pend("<th align=right>" + formatObject(sF ont, simpledateforma t.format(gregor iancalendar1.ge tTime())) + "\n");
gregoriancalend ar1.add(5, 1);
for(int k = 1; k < 7; k++)
{
stringbuffer.ap pend("<th align=right>" + formatObject(sF ont, simpledateforma t.format(gregor iancalendar1.ge tTime())) + "\n");
gregoriancalend ar1.add(5, 1);
}
} else
{
gregoriancalend ar1.add(5, 1);
stringbuffer.ap pend("<th align=right>" + formatObject(sF ont, simpledateforma t.format(gregor iancalendar1.ge tTime())) + "\n");
for(int l = 2; l < 8; l++)
{
gregoriancalend ar1.add(5, 1);
stringbuffer.ap pend("<th align=right>" + formatObject(sF ont, simpledateforma t.format(gregor iancalendar1.ge tTime())) + "\n");
}
}
stringbuffer.ap pend("</tr>\n");
int i1 = 0;
j = 0;
if(getDay(grego riancalendar) > 0)
{
stringbuffer.ap pend("<tr>");
for(; i1 < getDay(gregoria ncalendar); i1++)
{
stringbuffer.ap pend("<td align=right>");
if(sFont != null)
stringbuffer.ap pend(sFont + " </font>");
else
stringbuffer.ap pend(" ");
stringbuffer.ap pend("</td>\n");
j++;
}
}
for(; gregoriancalend ar.get(2) == i; gregoriancalend ar.add(5, 1))
{
int j1 = gregoriancalend ar.get(5);
int k1 = (i1 + j1) % 7;
/*if(k1 == 1)
{
stringbuffer.ap pend("<tr>" + NEWLINE);
j = 0;
}*/
stringbuffer.ap pend("<td align=right>");
j++;
if(sFont != null)
stringbuffer.ap pend(sFont);
String s;
if((s = (String)cnf.get (j1 + "")) != null)
{
stringbuffer.ap pend("<a href=\"");
if(s.toUpperCas e().startsWith( "HTT") || s.indexOf(".") > 0)
{
stringbuffer.ap pend(s);
if(s.indexOf("? ") < 0)
stringbuffer.ap pend("?date=" + stringDate(greg oriancalendar)) ;
else
stringbuffer.ap pend("&date=" + stringDate(greg oriancalendar)) ;
}
else
{
stringbuffer.ap pend("javascrip t:" + s + "('" + stringDate(greg oriancalendar) + "');");
}
stringbuffer.ap pend("\"");
if((s = (String)cnf.get (j1 + "target")) != null)
stringbuffer.ap pend(" target=\"" + s + "\"");
stringbuffer.ap pend(">");
stringbuffer.ap pend(gregorianc alendar.get(5)) ;
stringbuffer.ap pend("</a>\n");
} else
{
stringbuffer.ap pend(j1 + "");
}
if(sFont != null)
stringbuffer.ap pend("</font>");
//stringbuffer.ap pend("</td>\n");
if(k1 == 0)
stringbuffer.ap pend("</tr>\n");
}
if(j < 7)
{
for(; j < 7; j++)
{
stringbuffer.ap pend("<td align=right>");
if(sFont != null)
stringbuffer.ap pend(sFont);
stringbuffer.ap pend(" ");
if(sFont != null)
stringbuffer.ap pend("</font>");
stringbuffer.ap pend("</td>\n");
}
stringbuffer.ap pend("</tr>\n");
}
stringbuffer.ap pend("</table>\n");
return stringbuffer.to String();
}
private String stringDate(Cale ndar calendar)
{
String s = "" + calendar.get(1) ;
//return s + twoDigits(calen dar.get(2) + 1) + twoDigits(calen dar.get(5));
return s + twoDigits(calen dar.get(2) + 1);
}
private String twoDigits(int i)
{
String s = "" + i;
if(s.length() == 1)
return "0" + s;
else
return s;
}
private String formatObject(St ring s, Object obj)
{
String s1 = "";
if(obj != null)
s1 = "" + obj;
if(s == null)
return s1;
else
return s + s1 + "</font>";
}
}[/CODE]
[CODE=java] package com.cj.htmlcal;
import java.text.Simpl eDateFormat;
import java.util.*;
public class HtmlCalendar
{
private static final String VERSION = "ver. 1.6";
private static String NEWLINE = "\n";
public static final int MONDAY_FIRST = 1;
public static final int SUNDAY_FIRST = 2;
private Hashtable cnf;
private static final String Mnth[] = {
"Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct",
"Nov", "Dec"
};
private int year;
private int month;
private int style;
private String sFont;
private Locale loc;
public HtmlCalendar()
{
sFont = null;
GregorianCalend ar gregoriancalend ar = new GregorianCalend ar();
cnf = new Hashtable();
NEWLINE = System.getPrope rty("line.separ ator");
style = 2;
month = gregoriancalend ar.get(2) + 1;
year = gregoriancalend ar.get(1);
loc = Locale.US;
}
public void setLocale(Local e locale)
{
loc = locale;
}
public Locale getLocale()
{
return loc;
}
public void setYear(int i)
{
if(i > 0)
{
year = i;
cnf.clear();
}
}
public int getYear()
{
return year;
}
public void setMonth(int i)
{
if(i >= 1 && i <= 12)
{
month = i;
cnf.clear();
}
}
public int getMonth()
{
return month;
}
public void setStyle(int i)
{
style = i;
}
public int getStyle()
{
return style;
}
private int getDay(Calendar calendar)
{
if(style == 2)
return calendar.get(7) - 1;
else
return (calendar.get(7 ) + 5) % 7;
}
public void setActions(Stri ng s, String s1)
{
for(int i = 1; i <= 31; i++)
setAction(i, s, s1);
}
public void setAction(int i, String s, String s1)
{
if(s != null)
{
cnf.put("" + i, s);
if(s1 != null && s1.length() > 0)
cnf.put(i + "target", s1);
}
}
public String getHtml()
{
GregorianCalend ar gregoriancalend ar = new GregorianCalend ar(year, month - 1, 1);
GregorianCalend ar gregoriancalend ar1 = new GregorianCalend ar(2001, 0, 14);
SimpleDateForma t simpledateforma t = new SimpleDateForma t("EEE", loc);
int i = month - 1;
int j = 0;
StringBuffer stringbuffer = new StringBuffer("" );
stringbuffer.ap pend("<table>\n ");
if(style == 2)
{
stringbuffer.ap pend("<th align=right>" + formatObject(sF ont, simpledateforma t.format(gregor iancalendar1.ge tTime())) + "\n");
gregoriancalend ar1.add(5, 1);
for(int k = 1; k < 7; k++)
{
stringbuffer.ap pend("<th align=right>" + formatObject(sF ont, simpledateforma t.format(gregor iancalendar1.ge tTime())) + "\n");
gregoriancalend ar1.add(5, 1);
}
} else
{
gregoriancalend ar1.add(5, 1);
stringbuffer.ap pend("<th align=right>" + formatObject(sF ont, simpledateforma t.format(gregor iancalendar1.ge tTime())) + "\n");
for(int l = 2; l < 8; l++)
{
gregoriancalend ar1.add(5, 1);
stringbuffer.ap pend("<th align=right>" + formatObject(sF ont, simpledateforma t.format(gregor iancalendar1.ge tTime())) + "\n");
}
}
stringbuffer.ap pend("</tr>\n");
int i1 = 0;
j = 0;
if(getDay(grego riancalendar) > 0)
{
stringbuffer.ap pend("<tr>");
for(; i1 < getDay(gregoria ncalendar); i1++)
{
stringbuffer.ap pend("<td align=right>");
if(sFont != null)
stringbuffer.ap pend(sFont + " </font>");
else
stringbuffer.ap pend(" ");
stringbuffer.ap pend("</td>\n");
j++;
}
}
for(; gregoriancalend ar.get(2) == i; gregoriancalend ar.add(5, 1))
{
int j1 = gregoriancalend ar.get(5);
int k1 = (i1 + j1) % 7;
/*if(k1 == 1)
{
stringbuffer.ap pend("<tr>" + NEWLINE);
j = 0;
}*/
stringbuffer.ap pend("<td align=right>");
j++;
if(sFont != null)
stringbuffer.ap pend(sFont);
String s;
if((s = (String)cnf.get (j1 + "")) != null)
{
stringbuffer.ap pend("<a href=\"");
if(s.toUpperCas e().startsWith( "HTT") || s.indexOf(".") > 0)
{
stringbuffer.ap pend(s);
if(s.indexOf("? ") < 0)
stringbuffer.ap pend("?date=" + stringDate(greg oriancalendar)) ;
else
stringbuffer.ap pend("&date=" + stringDate(greg oriancalendar)) ;
}
else
{
stringbuffer.ap pend("javascrip t:" + s + "('" + stringDate(greg oriancalendar) + "');");
}
stringbuffer.ap pend("\"");
if((s = (String)cnf.get (j1 + "target")) != null)
stringbuffer.ap pend(" target=\"" + s + "\"");
stringbuffer.ap pend(">");
stringbuffer.ap pend(gregorianc alendar.get(5)) ;
stringbuffer.ap pend("</a>\n");
} else
{
stringbuffer.ap pend(j1 + "");
}
if(sFont != null)
stringbuffer.ap pend("</font>");
//stringbuffer.ap pend("</td>\n");
if(k1 == 0)
stringbuffer.ap pend("</tr>\n");
}
if(j < 7)
{
for(; j < 7; j++)
{
stringbuffer.ap pend("<td align=right>");
if(sFont != null)
stringbuffer.ap pend(sFont);
stringbuffer.ap pend(" ");
if(sFont != null)
stringbuffer.ap pend("</font>");
stringbuffer.ap pend("</td>\n");
}
stringbuffer.ap pend("</tr>\n");
}
stringbuffer.ap pend("</table>\n");
return stringbuffer.to String();
}
private String stringDate(Cale ndar calendar)
{
String s = "" + calendar.get(1) ;
//return s + twoDigits(calen dar.get(2) + 1) + twoDigits(calen dar.get(5));
return s + twoDigits(calen dar.get(2) + 1);
}
private String twoDigits(int i)
{
String s = "" + i;
if(s.length() == 1)
return "0" + s;
else
return s;
}
private String formatObject(St ring s, Object obj)
{
String s1 = "";
if(obj != null)
s1 = "" + obj;
if(s == null)
return s1;
else
return s + s1 + "</font>";
}
}[/CODE]