回 帖 发 新 帖 刷新版面

主题:怎么样使用表格显示日历???

帮忙填填代码
CalendarExample.java
import java.util.*;
import javax.swing.*; 
import java.awt.*;
import java.awt.event.*;
public class CalendarExample
{
   public static void main(String args[])
   {
      new GoodWindow();
   }
}
class GoodWindow extends JFrame implements ItemListener 
{
   JComboBox list=null;
   CalenderPane calenderPane=null;
   Container con=null;
   GoodWindow()
   {   
       list=【代码1】  /创建一个下拉列表,该列表不含有任何选项。
       for(int i=2000;i<=2010;i++)
        {
           String temp=""+i;
          【代码2】//list添加选项temp。
        }
       【代码3】  //将当前窗口注作为list的监视器。
       con=this.getContentPane();
       con.add(list,BorderLayout.NORTH);
       calenderPane=new CalenderPane(2005);
       con.add(calenderPane,BorderLayout.CENTER);
       setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
       setBounds(100,100,400,240); 
       setVisible(true);
       validate();
   }  
  【代码4】 //ItemListener接口方法的声明。
   {
      con.remove(calenderPane);
      String str=(String)list.getSelectedItem();
      int year=Integer.parseInt(str);
      calenderPane=new CalenderPane(year);
      con.add(calenderPane,BorderLayout.CENTER);
      con.validate(); 
      validate();
   }
}
class CalenderPane extends JPanel implements ActionListener

     JTable table;
     Object a[][]=new Object[6][7];
     Object name[]={"星期日","星期一","星期二","星期三", "星期四","星期五","星期六"};
     JButton  nextMonth,previousMonth;
     int year=2005,month=1;
     CalendarBean calendar;
     JLabel showMessage=new JLabel("",JLabel.CENTER);
     public CalenderPane(int year)
     { 
        setLayout(new BorderLayout());
        calendar=new  CalendarBean();
        calendar.setYear(year);
        calendar.setMonth(month);
        String day[]=calendar.getCalendar();
        table=【代码5】//创建表格对象,该表格维护的数据是二维数组a,
                      //表格的标题是一维数组name。
        table.setRowSelectionAllowed(false); 
        setTable(day);
        nextMonth=new JButton("下月");
        previousMonth=new JButton("上月");
        【代码6】//将当前面板注册为nextMonth按钮的AcitinEvent事件监视器。
        【代码7】//将当前面板注册为previousMonth按钮的AcitinEvent事件监视器。
        JPanel pNorth=new JPanel(),
              pSouth=new JPanel();
        【代码8】//pNorth添加按钮previousMonth。
        【代码9】//pNorth添加按钮nextMonth。
        【代码10】// pSouth添加按钮showMessage。
        showMessage.setText("日历:"+calendar.getYear()+"年"+calendar.getMonth()+"月" );
        add(new JScrollPane(table),BorderLayout.CENTER); 
        add(pNorth,BorderLayout.NORTH);
        add(pSouth,BorderLayout.SOUTH);
        validate();
     }
    [color=FF00FF]由于内容过长 ,转下个贴。。。[/color]

回复列表 (共1个回复)

沙发


怎么没人回的

我来回复

您尚未登录,请登录后再回复。点此登录或注册