下面是我用JAVA编制的月历,编译过了,但是执行不出组件。。
我是自学的,没地方问的。。
这里的哪位大侠帮我改一下。。。
谢谢了。。。
import java.awt.*;
import java.awt.event.*;
import java.util.*;
public class zuo17_2 extends Frame implements ItemListener{
static int a,b=2003,c=5;
int[] B=new int[]{2003,2004,2005,2006,2007,2008,2009};
int[] C=new int[]{1,2,3,4,5,6,7,8,9,10,11,12};
Choice A1=new Choice();
Choice A2=new Choice();
Panel p1=new Panel();
Panel p2=new Panel();
Label[] l1={new Label("日"),new Label("一"),new Label("二"),new Label("三"),new Label("四"),new Label("五"),new Label("六")};
Label[] l2=new Label[35];
public zuo17_2(String title){
super(title);
for(int i=0;i<7;i++)
A1.add(B[i]+"年");
for(int i=0;i<12;i++)
A2.add(C[i]+"月");
p1.add(A1);
p1.add(A2);
p2.setLayout(new GridLayout(6,7));
for(int i=0;i<7;i++)
p2.add(l1[i]);
for(int i=0;i<35;i++)
p2.add(l2[i]);
add(p1,BorderLayout.NORTH);
add(p1,BorderLayout.CENTER);
A1.addItemListener(this);
A2.addItemListener(this);
}
public void itemStateChanged(ItemEvent e){
GregorianCalendar x=new GregorianCalendar();
if(e.getSource()==A1)
b=B[A1.getSelectedIndex()];
if(e.getSource()==A1)
c=C[A1.getSelectedIndex()];
x.set(a,b,1);
a=x.get(Calendar.DAY_OF_WEEK);
for(int i=0;c==x.get(Calendar.MONTH);i++){
if(i>c)
l2[i].setText(" ");
else{
l2[i].setText(String.valueOf(x.get(Calendar.DATE)));
x.add(Calendar.DATE,1);
}
}
}
public static void main(String []args){
zuo17_2 f=new zuo17_2("月历");
f.pack();
f.setVisible(true);
}
}