⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 calendarframe.java

📁 Java的swing的课堂练习。。 。
💻 JAVA
字号:
/**
 * @(#)CalendarBean.java
 *
 *
 * @author 
 * @version 1.00 2007/11/11
 */
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.util.Calendar;
import javax.swing.tree.*;
import javax.swing.event.*;

class CalendarBean {
 int year=2005,month=0,nextDay;
 public void setYear(int year) {
  this.year=year;
 }
 public void setMonth(int month) {
  this.month=month;
 }
 public String[][] getCalendar() {
  String a[][]=new String[6][7];
  Calendar  cal=Calendar.getInstance();
  cal.set(year,month-1,1);
  int week=cal.get(Calendar.DAY_OF_WEEK)-1;
  int day=0;
  if (month==1 || month==3 || month==5 || month==7 || month==8 || month==10 || month==12)
  {
   day=31;
  }
  if (month==4 || month==6 || month==9 || month==11)
  {
  day=30;
  }
  if (month==2)
  {
    if (((year%4==0) && (year %100 != 0)) || (year % 400==0))
    {
      day=29;
    }
    else  day=28;
  }
  nextDay=1;
  for(int k=0; k<6; k++)
  { if (k==0)
  	  for (int j=week; j<7; j++)
  	  {
  	   a[k][j]=" "+nextDay;
  	   nextDay++;
  	  }
  	else
  	  for (int j=0; j<7 && nextDay<=day; j++) 
  	  {
  	    a[k][j]=" "+nextDay;
  	    nextDay++;
  	  }
  }
  return a;
 }
}
 
public class CalendarFrame extends JFrame implements ItemListener,TreeSelectionListener {
	JTable table;
	JTree tree=null;
	DefaultMutableTreeNode root;
	Object  name[]={"星期日","星期一","星期二","星期三","星期四","星期五","星期六"};
	JComboBox  yearList;
	int  year,month;
	CalendarBean  calendar;
	String rili[][];
	String item[]={"2006","2007","2008","2009","2010"};
	JScrollPane  scrollTable,scrollTree;
	JSplitPane split;
	public CalendarFrame() {
	 calendar=new CalendarBean();
	 yearList=new JComboBox();
	 for (int k=0; k<item.length; k++)
	  yearList.addItem(item[k]);
	  yearList.addItemListener(this);
	  
	  root=new DefaultMutableTreeNode(item[0]);
	  year=Integer.parseInt(item[0]);
	  month=1;
	  DefaultMutableTreeNode  months[]=new DefaultMutableTreeNode[13];
	   for (int i=1; i<=12; i++) {
	   	months[i]=new DefaultMutableTreeNode(""+i);
	   	root.add(months[i]);
	   }
	  tree=new JTree(root);
	  add(new JScrollPane(tree),BorderLayout.WEST);
	  tree.addTreeSelectionListener(this);
	  
	  calendar.setYear(year);
	  calendar.setMonth(month);
	  rili=calendar.getCalendar();
	  table=new JTable(rili,name);
	  
	  scrollTree=new JScrollPane(tree);
	  scrollTable=new JScrollPane(table);
	  split=new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,true,scrollTree,scrollTable);
	  split.setDividerLocation(0.5);
	  
	  add(yearList,BorderLayout.NORTH);
	  add(split,BorderLayout.CENTER);
	  
	  setSize(600,200);
	  setVisible(true);
	  validate();
	  setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);	  
	}
	public void itemStateChanged(ItemEvent e) {
	 String yr=yearList.getSelectedItem().toString().trim();
	 year=Integer.parseInt(yr);
	 calendar.setYear(year);
	 root=new DefaultMutableTreeNode(yr);
	 DefaultMutableTreeNode  months[]=new DefaultMutableTreeNode[13];
	 for (int i=1; i<=12; i++) {
	  months[i]=new DefaultMutableTreeNode(""+i);
	  root.add(months[i]);
	 }
	 split.remove(scrollTree);
	 tree=new JTree(root);
	 tree.addTreeSelectionListener(this);
	 scrollTree=new JScrollPane(tree);
	 split.add(scrollTree,JSplitPane.LEFT);
	 validate();
	}
	public void valueChanged(TreeSelectionEvent e) {
	 DefaultMutableTreeNode  monthNode=(DefaultMutableTreeNode)tree.getLastSelectedPathComponent();
	 if (monthNode.isLeaf())
	 {
	   month=Integer.parseInt(monthNode.toString().trim());
	   calendar.setMonth(month);
	   rili=calendar.getCalendar();
	   split.remove(scrollTable);
	   table=new JTable(rili,name);
	   scrollTable=new JScrollPane(table);
	   split.add(scrollTable,JSplitPane.RIGHT);
	   validate();
	 }
	}
  
        
   
    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here
        new CalendarFrame();
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -