Calendar in java ??

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • abhishekbrave
    New Member
    • Dec 2007
    • 79

    Calendar in java ??

    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]
    Last edited by r035198x; Feb 25 '08, 08:00 AM. Reason: added code tags, please don't forget them next time
Working...