亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? calwin.java

?? java編寫的帶界面的日歷程序。可以點擊某一個時間
?? JAVA
?? 第 1 頁 / 共 2 頁
字號:
/****************************************************************************************
*							Java日歷程序

*    作者:張亞航
*
*    完成時間:2008-5-22
*
*	 程序功能:
*	 使用Swing組件編寫界面,能夠正確顯示月歷,并且擁有四個按鈕分別進行顯示控制
*		
*    設計思路:
*    本程序總體使用MVC設計模式,其中viewer包中的CalWin程序是主界面顯示程序,
*    主要用于界面的生成和數據的刷新;
*    
*    Model包中的MyDate類是程序日歷的載體,本程序沒有使用JDK的類庫java.util.Date和
*    java.util.Calendar類,而是重新構造了MyDate類,該類只能保存精度到日的時間
*    
*    Control包中的ComputeDate類主要是用來計算每個月的第一天是星期幾以及每個月的總天數
*    
*    Viewer類中包含了一個內部類Cell,Cell是界面日期表格中顯示中的基本元素,繼承與JLabel
*    ,每個Cell對應一個MyDate對象。
*    
*    程序主要流程是根據當前baseDate利用ComputeDate計算當前月份的數據,然后將所有數據
*    通過setCell方法同Cell[]數組關聯起來,初始化所有Cell,然后將數據在界面顯示。
*    每次日期發生改變,都要調用一次setCell方法,將所有界面數據刷新。
*
******************************************************************************************/



package viewer;

import control.*;
import model.MyDate;

import javax.swing.*;
import javax.swing.plaf.basic.BasicArrowButton;
import java.awt.*;
import java.awt.event.*;




public class CalWin extends JFrame implements ActionListener{

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;

	/*******************所有界面元素******************************/
	private JPanel jContentPane = null;

	private JPanel controlPanel = null;

	private JPanel showPanel = null;

	private JPanel buttonPanel = null;

	private JButton OkButton = null;

	private JButton cancelButton = null;

	private JTextField dateTextField = null;
	
	private JTextField yearTextField = null;

	private JTextField monthTextField = null;
	
	private JLabel jLabel1 = null;
	
	private JLabel jLabel2 = null;

	private BasicArrowButton addButton = null;//上箭頭增加按鈕

	private BasicArrowButton delButton = null;//下箭頭遞減按鈕

	private BasicArrowButton delMonthButton = null;//左箭頭增加月份按鈕

	private BasicArrowButton addMonthButton = null;//右箭頭減少月份按鈕

	private JPanel tablePanel = null;//添加日期版面
	
	private JPanel headerPanel = null;//存放星期的頭版
	
	//private ButtonGroup group = null;
	
	//private SetCell setCell = null;
	/*******************所有邏輯計算相關元素******************************/
	private JLabel[] headerCell = null;
	
	private Cell[] cell = null;
	
	private  MyDate baseDate = null; //關鍵變量,記錄當前日期,很多計算都基于這個變量!!!
	
	private ComputeDate computeDate = null;
	
	private MyDate cellDate1 = null;  //對每個cell元素進行設置的時候所要設置對應的日期
	
	private int changeFlag = 1;  //標記遞增或遞減哪個元素,1的時候修改日,2的時候修改月,三的時候修改年
	
	/**
	 * 主函數
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		CalWin calendar = new CalWin();
		calendar.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		calendar.setVisible(true);
	}
	
	public CalWin() {
		super();
		baseDate = new MyDate();
		this.setSize(400, 300);
		this.setTitle("JCalendar 1.2");
		this.setResizable(false);
		this.initialize();
	}

	/**初始化界面函數
	 * 在這里注意:由于要求上的界面很難實現所有組件
	 * 按照圖中所示對其,因此本界面沒有采用任何布局管理器
	 * 而是通過對每個組件設置邊界位置的方式進行布局管理
	 * */
	private void initialize() {		
		
		System.out.println(baseDate);
		
		jContentPane = new JPanel();
		
		dateTextField = new JTextField();
		dateTextField.setBounds(new Rectangle(10, 10, 20, 30));
		dateTextField.setText((new Integer(baseDate.getDate()).toString())); 
		dateTextField.setBorder(null);
		dateTextField.setEditable(false);
		dateTextField.addActionListener(this);
		
		dateTextField.addMouseListener(new   MouseAdapter(){   
		      public void mouseClicked(MouseEvent e){   
		          changeFlag = 1;
		          System.out.print("aaaaaaaaaa"+changeFlag);
		  }   
		  });
		
		jLabel1 = new JLabel();
		jLabel1.setText("-");
		jLabel1.setBounds(new Rectangle(30, 10, 10, 30));
		
		monthTextField = new JTextField();
		monthTextField.setBounds(new Rectangle(45, 10, 20, 30));
		monthTextField.setText((new Integer(baseDate.getMonth()).toString())); 
		monthTextField.setBorder(null);
		monthTextField.setEditable(false);
		//monthTextField.addActionListener(this);
		
		monthTextField.addMouseListener(new   MouseAdapter(){   
		      public void mouseClicked(MouseEvent e){   
		          changeFlag = 2;
		          System.out.print("aaaaaaaaaa"+changeFlag);
		  }   
		  });
		
		jLabel2 = new JLabel();
		jLabel2.setBounds(new Rectangle(65, 10, 10, 30));
		jLabel2.setText("-");

		yearTextField = new JTextField();
		yearTextField.setBounds(new Rectangle(80, 10, 30, 30));
		yearTextField.setText((new Integer(baseDate.getYear()).toString()));
		yearTextField.setBorder(null);
		yearTextField.setEditable(false);
		yearTextField.addActionListener(this);
		
		yearTextField.addMouseListener(new   MouseAdapter(){   
		      public void mouseClicked(MouseEvent e){   
		          changeFlag = 3;
		          System.out.print("aaaaaaaaaa"+changeFlag);
		  }   
		  });
		
		addButton = new BasicArrowButton(SwingConstants.NORTH);
		addButton.setBounds(new Rectangle(300, 10, 50, 15));
		
		
		addButton.addActionListener(this);
		addButton.setBorder(null);
		
		
		
		delButton = new BasicArrowButton(SwingConstants.SOUTH);
		delButton.setBounds(new Rectangle(300, 25, 50, 15));
		delButton.addActionListener(this);
		
		
		controlPanel = new JPanel();
		controlPanel.setLayout(null);
		controlPanel.setBounds(new Rectangle(20, 5, 360, 45));
		controlPanel.add(dateTextField);
		controlPanel.add(jLabel1);
		controlPanel.add(monthTextField);
		controlPanel.add(jLabel2);
		controlPanel.add(yearTextField);

		controlPanel.add(addButton);
		controlPanel.add(delButton);	
		controlPanel.setBorder(BorderFactory.createLineBorder(Color.gray));
		jContentPane.setLayout(null);		
		jContentPane.add(controlPanel);		
		
		showPanel = new JPanel();
		delMonthButton = new BasicArrowButton(SwingConstants.WEST);
		delMonthButton.setBounds(new Rectangle(10, 10, 50, 20));
		
		delMonthButton.setBorder(null);
		addMonthButton = new BasicArrowButton(SwingConstants.EAST);
		addMonthButton.setBounds(new Rectangle(300, 10, 50, 20));
		
		addMonthButton.setBorder(null);
		addMonthButton.setBackground(showPanel.getBackground());
		addMonthButton.setOpaque(true);
		addMonthButton.addActionListener(this);
		delMonthButton.addActionListener(this);
		
		

		headerPanel = new JPanel();
		headerPanel.setLayout(new GridLayout(1,7));
		headerPanel.setBounds(new Rectangle(70, 10, 220, 20));
		headerCell = new JLabel[7];
		
		
		
		//在日期頭上加入星期的標志
		for(int i=0;i<7;i++)
		{
			String weekFlag = "";
			headerCell[i] = new JLabel();
			
			
			switch (i)
			{
			case 0:weekFlag = "Mon";break;
			case 1:weekFlag = "Tue";break;
			case 2:weekFlag = "Wed";break;
			case 3:weekFlag = "Thu";break;
			case 4:weekFlag = "Fri";break;
			case 5:weekFlag = "Sat";break;
			case 6:weekFlag = "Sun";break;
			}
			
			headerCell[i].setText(weekFlag);
			
			headerPanel.add(headerCell[i]);
		}
		headerPanel.setBackground(Color.blue);
		
		tablePanel = new JPanel();
		tablePanel.setLayout(new GridLayout(6,7));
		tablePanel.setBounds(new Rectangle(70, 35, 220, 110));
		
		cell = new Cell[42];
		
		//setCell = new SetCell();
		//初始化cell[42]數組里面的cell對象
		baseDate = new MyDate();
		for(int i=0;i<42;i++)
		{			
			cell[i] = new Cell();			
			//group.add(cell[i]);
		}
		
		

		//	為cell[42]數組里面的cell對象置入初值
		cell = SetCell(cell, baseDate);		
			//group.add(cell[i]);
	
		for(int i=0;i<42;i++)
		{	
			tablePanel.add(cell[i]);
		}	
	
		showPanel.setLayout(null);
		showPanel.setBounds(new Rectangle(20, 60, 360, 160));
		showPanel.add(delMonthButton);
		showPanel.add(addMonthButton);
		showPanel.add(tablePanel);	
		showPanel.add(headerPanel);
		jContentPane.add(showPanel);
		showPanel.setBorder(BorderFactory.createLineBorder(Color.gray));
		
		OkButton = new JButton();
		OkButton.setBounds(new Rectangle(185, 5, 80, 20));
		OkButton.setText("Ok");
		
		OkButton.addActionListener(this);
		
		cancelButton = new JButton();
		cancelButton.setBounds(new Rectangle(270, 5, 80, 20));
		cancelButton.setText("Cancel");
		
		cancelButton.addActionListener(this);
		
		buttonPanel = new JPanel();
		buttonPanel.setLayout(null);
		buttonPanel.setBounds(new Rectangle(20, 230, 360, 30));
		buttonPanel.add(OkButton);
		buttonPanel.add(cancelButton);
		buttonPanel.setBorder(BorderFactory.createLineBorder(Color.gray));
		
		jContentPane.add(buttonPanel);
		
		this.setContentPane(jContentPane);		
		
	}

	/*********************添加事件監聽*************************/
	public void actionPerformed(ActionEvent e) 
	{ 
		//添加月份按鈕
		if (e.getSource() == addMonthButton) { 
		
			
			if(baseDate.getMonth()<12)
			{
				this.baseDate.setMonth(baseDate.getMonth()+1);
			}

			//			對于每年12月份的時候,這里做特殊處理:將年份加一,月份設置為1
			else
			{
				this.baseDate.setYear(baseDate.getYear()+1);
				this.baseDate.setMonth(1);
			}
			this.SetCell(cell, baseDate); //如果點擊確定按鈕就調用setDay()重新方法繪制按鈕 
			updateView();

		} 
		

		//		減少月份按鈕
		else if (e.getSource() == delMonthButton) { 
		 
			if(baseDate.getMonth()>1)

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人免费毛片a| 天堂一区二区在线| 欧美日韩精品是欧美日韩精品| 午夜欧美电影在线观看| 久久久久久免费网| 欧美日韩三级一区| 不卡的av中国片| 免费av成人在线| 男女性色大片免费观看一区二区| 国产日产欧美一区二区视频| 欧美亚洲国产怡红院影院| 国产高清在线观看免费不卡| 日韩高清在线不卡| 亚洲老司机在线| 国产精品久久久久久久久久久免费看 | 综合av第一页| 国产亚洲欧美一区在线观看| 欧美喷潮久久久xxxxx| av在线播放成人| 国产在线看一区| 日韩av电影免费观看高清完整版| 亚洲欧美日韩小说| 国产精品亲子乱子伦xxxx裸| 日韩欧美电影在线| 51久久夜色精品国产麻豆| 日本道免费精品一区二区三区| 国产sm精品调教视频网站| 麻豆精品视频在线观看| 婷婷综合久久一区二区三区| 洋洋av久久久久久久一区| 欧美国产日韩a欧美在线观看| 精品美女在线观看| 在线电影欧美成精品| 欧美性猛片xxxx免费看久爱| 91久久线看在观草草青青| 99精品欧美一区| 成人精品一区二区三区四区| 丰满少妇在线播放bd日韩电影| 国产在线看一区| 国产精品一区二区你懂的| 国产一区二区三区免费| 久久精品国内一区二区三区| 蜜臀av一区二区在线免费观看| 日本va欧美va精品发布| 日韩精品午夜视频| 奇米色一区二区| 久久99精品国产.久久久久久| 久色婷婷小香蕉久久| 国产又粗又猛又爽又黄91精品| 精品亚洲成a人| 国产精品自拍av| 成人精品一区二区三区四区| 91热门视频在线观看| 色综合欧美在线| 欧美伊人精品成人久久综合97| 欧美中文字幕久久| 69堂亚洲精品首页| 精品久久免费看| 国产精品视频观看| 亚洲乱码中文字幕| 五月婷婷综合网| 激情都市一区二区| av毛片久久久久**hd| 在线免费观看一区| 欧美一级二级在线观看| 久久精品视频在线看| 亚洲人成网站影音先锋播放| 亚洲综合图片区| 久久超级碰视频| 99精品欧美一区二区三区综合在线| 在线国产亚洲欧美| 久久一夜天堂av一区二区三区| 中文字幕在线观看不卡视频| 亚洲一区二区av在线| 久久精品国产第一区二区三区| 成人综合日日夜夜| 欧美色爱综合网| 久久久久久久久岛国免费| 亚洲人妖av一区二区| 日本一不卡视频| 成人理论电影网| 日韩欧美国产综合| 亚洲色图制服诱惑| 老司机午夜精品| 色综合久久久网| 亚洲精品一区二区精华| 亚洲卡通欧美制服中文| 久久激情综合网| 在线视频观看一区| 国产欧美日产一区| 日本中文字幕不卡| 色噜噜狠狠色综合欧洲selulu| 日韩一区二区不卡| 亚洲精品中文在线影院| 国产一区二区三区在线观看免费视频| 91免费看视频| 国产日韩欧美综合在线| 轻轻草成人在线| 日本乱码高清不卡字幕| 国产无人区一区二区三区| 日韩有码一区二区三区| 一本在线高清不卡dvd| 亚洲国产经典视频| 久久精品国产99| 欧美精品v国产精品v日韩精品| 国产精品久久一级| 国产综合色在线视频区| 3atv在线一区二区三区| 亚洲精品欧美在线| 成人小视频在线| 久久色在线观看| 老色鬼精品视频在线观看播放| 欧美精品乱码久久久久久 | 亚洲欧洲色图综合| 国产美女精品人人做人人爽| 欧美精品粉嫩高潮一区二区| 艳妇臀荡乳欲伦亚洲一区| 高潮精品一区videoshd| 欧美精品一区二区三区蜜桃视频 | 久久久久九九视频| 另类欧美日韩国产在线| 日韩欧美国产成人一区二区| 亚洲国产精品久久久久婷婷884| 国产精品白丝av| 日韩一区二区三区av| 日韩中文字幕不卡| 欧美三级电影精品| 国产精品美女久久久久久久网站| 国产毛片精品国产一区二区三区| 日韩久久精品一区| 日韩 欧美一区二区三区| 91精品国产品国语在线不卡| 亚洲成人资源网| 欧美精品自拍偷拍动漫精品| 午夜精品久久久久| 7777精品伊人久久久大香线蕉完整版 | 欧美精品日韩一区| 秋霞午夜鲁丝一区二区老狼| 日韩一区二区视频在线观看| 日韩电影免费一区| 日韩你懂的在线播放| 麻豆91免费看| 日韩亚洲欧美在线| 黄色日韩网站视频| 久久精品日韩一区二区三区| 国产河南妇女毛片精品久久久| 国产亚洲成av人在线观看导航| 懂色av一区二区夜夜嗨| 国产精品美女久久久久久久网站| 99久久精品国产一区| 一区二区三区在线播放| 欧美日韩一级片网站| 日本不卡在线视频| 久久久一区二区三区捆绑**| 国产成人精品影院| 国产精品第13页| 欧美色图第一页| 麻豆精品一区二区三区| 国产亚洲综合性久久久影院| av激情亚洲男人天堂| 午夜在线成人av| 久久你懂得1024| 99re亚洲国产精品| 五月激情综合网| 亚洲精品在线观看网站| 波多野结衣中文一区| 亚洲国产精品久久久久婷婷884| 欧美一级日韩一级| 成人久久18免费网站麻豆 | 最好看的中文字幕久久| 欧美亚洲另类激情小说| 激情综合网av| 亚洲天堂网中文字| 欧美一区二区私人影院日本| 国产宾馆实践打屁股91| 亚洲一区二区偷拍精品| 26uuu精品一区二区三区四区在线 26uuu精品一区二区在线观看 | 亚洲欧洲另类国产综合| 欧美天堂一区二区三区| 国产做a爰片久久毛片| 亚洲综合激情网| 久久五月婷婷丁香社区| 日本道在线观看一区二区| 狠狠色丁香久久婷婷综合_中| 中文字幕一区二区三区视频| 91精选在线观看| 99精品国产99久久久久久白柏| 日韩1区2区日韩1区2区| 亚洲人成精品久久久久久| 精品免费国产一区二区三区四区| 91污片在线观看| 黑人巨大精品欧美黑白配亚洲| 亚洲免费av在线| 国产亚洲欧美色| 欧美一级片在线观看| 日本道精品一区二区三区| 国产精品99久久久久久似苏梦涵 | 国产真实乱对白精彩久久| 亚洲成va人在线观看| 自拍偷拍国产精品|