//
start of the program ...import java.awt.*;
//import javax.swing.*;
import java.awt.event.*;
import java.util.*;
import java.applet.*;
class MyPanel extends Panel {
private Color c;
GregorianCalendar cal;
GregorianCalendar cal2;
int CurMonth=0;
int CurYear;
MyPanel(String S)
{
CurYear=Integer.parseInt(S) ;
c = Color.pink;
cal = new GregorianCalendar (CurYear,CurMonth,1);
cal2 = new GregorianCalendar();
}
public void paint(Graphics g)
{
int xs=10;
int xy=10;
int w=50;
int l=50;
super.paint (g);
setBackground (c);
Font f;
f= new Font("SansSerif",Font.BOLD,12);
g.setFont(f);
g.setColor(Color.blue);
g.drawString("Sun",xs+50,xy+40);
g.drawString("Mon",xs+w+50,xy+40);
g.drawString("Tue",xs+2*w+50+10,xy+40);
g.drawString("Wed",xs+3*w+50,xy+40);
g.drawString("The",xs+4*w+50,xy+40);
g.drawString("Fri",xs+5*w+50,xy+40);
g.drawString("Sat",xs+6*w+50,xy+40);
g.setColor(Color.yellow);
xy+=l+40;
int Start = cal.get(Calendar.DAY_OF_WEEK);
int month;
int i1;
int i;
int j;
int day = 1;
for (i1=Start-1;i1<7;i1++)
{
g.drawString(""+day,xs+(i1*w)+50,xy);
day++;
}
xy+=l;
L1:
for(i=0;i<6;i++){
for(j=0;j<7;j++){
g.drawString(""+day,50+xs+(j*w),xy+(i*l));
day++;
cal2.set(CurYear,CurMonth,day);
month=cal2.get(Calendar.MONTH);
if(month!=CurMonth){break L1;}
}//second loop
}//first loop
}//paint
public void settt()
{
cal.set(CurYear,CurMonth,1);
}
public void settt2()
{
cal.set(CurYear,CurMonth,1);
}
}//Class
// My Frame Class
public class MyFrame extends Applet implements ActionListener {
Button B1,B2;
MyPanel P1;
Panel P2,P3;
TextField T ;
Label L2;
Label L1;
GregorianCalendar cal3;
String D;
public void init()
//MyFrame()
{
//setTitle(" My First Java Program ");
setSize(500,500);
cal3 = new GregorianCalendar();
T = new TextField(5);
T.setText("2001");
D=T.getText();
B1=new Button(" Next Month");
B2=new Button(" Previous Month");
P1 = new MyPanel(D);
P2 = new Panel();
P3 = new Panel();
L1 = new Label(cal3.getTime().toString());
L2 = new Label(""+P1.CurMonth);
setLayout(null);
P2.add(T); P2.add(B2); P2.add(B1);
P3.add(L1); P3.add(L2);
add(P2);
add(P1);
add(P3);
P2.reshape(10,10,499,50);
P1.reshape(10,51,499,400);
P3.reshape(10,451,499,50);
// add ActionListener
B1.addActionListener(this);
B2.addActionListener(this);
}
//Action handler method
public void actionPerformed(ActionEvent ev)
{
Object source = ev.getSource();
if(source==B1)
On();
else if(source==B2)
On2();
}
//member method to handel B1
public void On()
{
P1.CurMonth++;
if(P1.CurMonth==12){
P1.CurMonth=0;
P1.CurYear++;
T.setText(""+ P1.CurYear);}
L2.setText(""+P1.CurMonth++);
P1.settt();
P1.repaint();
}
public void On2()
{
P1.CurMonth--;
if(P1.CurMonth==-1){
P1.CurMonth=11;
P1.CurYear--;
T.setText(""+ P1.CurYear);}
L2.setText(""+P1.CurMonth);
P1.settt2();
P1.repaint();
}
}//class
// End Of Program!!!!!!!!!!!!!
And here is the running Applet
for the above code :