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

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

?? calendarapplet.java

?? Java程序100例
?? JAVA
字號:
import java.applet.Applet; 
import java.awt.*; 
import java.util.*; 

public class CalendarApplet extends Applet{ 

	static final int TOP = 70;  //頂端距離
	static final int CELLWIDTH=50,CELLHEIGHT = 30;  //單元格尺寸
	static final int MARGIN = 3;  //邊界距離
	static final int FEBRUARY = 1; 
		
	TextField tfYear = new TextField("2004", 5); //顯示年份的文本域
	Choice monthChoice = new Choice();  //月份選擇下拉框
	Button btUpdate = new Button("更新");  //更新按鈕
	GregorianCalendar calendar=new GregorianCalendar(); //日歷對象
	Font smallFont = new Font("TimesRoman", Font.PLAIN, 15);  //顯示小字體
	Font bigFont = new Font("TimesRoman", Font.BOLD, 50);  //顯示大字體
	String days[] = {"星期日", "星期一", "星期二", "星期三","星期四", "星期五", "星期六"};  
	String months[] = {"一月", "二月", "三月", "四月","五月", "六月", "七月", "八月", "九月","十月", "十一月", "十二月"}; 
	int daysInMonth[] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; //每個月的天數
	int searchMonth,searchYear; //查詢的年份及月份

	public void init(){ 
	    setBackground(Color.white);  //設置背景顏色	    
	    searchMonth = calendar.get(Calendar.MONTH); //得到系統年份
	    searchYear = calendar.get(Calendar.YEAR);	//得到系統月份
	    add(new Label(" 年:")); //增加組件到Applet	
	    tfYear.setText(String.valueOf(searchYear)); //設置文本域文字	
	    add(tfYear);  
	    add(new Label(" 月:")); 	
	    monthChoice.setFont(smallFont);  //設置月份選擇下拉框的顯示字體
	    for (int i = 0; i < 12; i++) {	
	    	monthChoice.addItem(months[i]); //增加下拉框選項
	    }
	    monthChoice.select(searchMonth); //設置下拉框當前選擇項
	    add(monthChoice); 	    
	    add(btUpdate); 
	    int componentCount=this.getComponentCount(); //得到Applet中的組件數量
	    for (int i=0;i<componentCount;i++){
	    	getComponent(i).setFont(smallFont); //設置所有組件的顯示字體
	    }	    
	}	
	
	public void paint(Graphics g){ 	
	    FontMetrics fontMetric;   //顯示字體的FontMetrics對象
	    int fontAscent; 	
	    int dayPos; 	
	    int totalWidth, totalHeight; //總的寬度,高度
	    int numRows;  //行數
	    int xNum, yNum;   //水平和垂直方向單元格數量 
	    int numDays;  	
	    String dayStr;	 //顯示天數字符串
	    int margin;        
	    
	    g.setColor(Color.lightGray); //設置當前顏色
	    g.setFont(bigFont); //設置當前使用字體
		g.drawString(searchYear+"年",60,TOP+70); //繪制字符串
		g.drawString((searchMonth+1)+"月",200,TOP+130);	  
	
		g.setColor(Color.black);
		g.setFont(smallFont);
	    fontMetric = g.getFontMetrics(); 	//獲取變量初值
	    fontAscent = fontMetric.getAscent(); 	
	    dayPos = TOP + fontAscent / 2; 	   
	    totalWidth = 7 * CELLWIDTH; 	//得到總的表格寬度
	    for (int i = 0; i < 7; i++) {	
	    	g.drawString(days[i], (CELLWIDTH-fontMetric.stringWidth(days[i]))/2 + i*CELLWIDTH,dayPos-20);  //繪制表格標題欄	
		}	
	    numRows = getNumberRows(searchYear, searchMonth); //計算需要的行的數量
	    totalHeight = numRows * CELLHEIGHT; //得到總的表格高度
	    for (int i = 0; i <= totalWidth; i += CELLWIDTH) {
	    	g.drawLine(i, TOP , i, TOP+ totalHeight); //繪制表格線
	    }	
	    for (int i = 0, j = TOP ; i <= numRows; i++, j += CELLHEIGHT) {
		    g.drawLine(0, j, totalWidth, j); //繪制表格線
	    }	
	    xNum = (getFirstDayOfMonth(searchYear, searchMonth) + 1) * CELLWIDTH - MARGIN; 
	    yNum = TOP +  MARGIN + fontAscent; 	    
	    numDays = daysInMonth[searchMonth] + ((calendar.isLeapYear(searchYear) && (searchMonth == FEBRUARY)) ? 1 : 0); 
	    for (int day = 1; day <= numDays; day++) { 	
	    	dayStr = Integer.toString(day); 
	     	g.drawString(dayStr, xNum - fontMetric.stringWidth(dayStr), yNum); 	//繪制字符串
	     	xNum += CELLWIDTH; 	
	     	if (xNum > totalWidth) { 	
	         	xNum = CELLWIDTH - MARGIN; 	
	         	yNum += CELLHEIGHT; 	
	     	} 
     	} 
	 }
	
	
	public boolean action(Event e, Object o){ 	
		int searchYearInt; 	
		if (e.target==btUpdate){ 	
	 		searchMonth = monthChoice.getSelectedIndex();  //得到查詢月份
	 		searchYearInt = Integer.parseInt(tfYear.getText(), 10);  //得到查詢年份	 
	 		if (searchYearInt > 1581) {	
	 			searchYear = searchYearInt; 
	 		} 	
			repaint();  //重繪屏幕
			return true; 
		 } 	
		 return false; 	
	 } 	
	
	private int getNumberRows(int year, int month) { //得到行數量
		int firstDay; 	
		int numCells;	
		if (year < 1582) { //年份小于1582年,則返回-1
			return (-1); 
		}	
		if ((month < 0) || (month > 11)) {
			return (-1); 	
		}
		firstDay = getFirstDayOfMonth(year, month); //計算月份的第一天
		 	
		if ((month == FEBRUARY) && (firstDay == 0) && !calendar.isLeapYear(year)) {
			return 4;
		}
		numCells = firstDay + daysInMonth[month]; 
		if ((month == FEBRUARY) && (calendar.isLeapYear(year))) {
			numCells++; 
		}
	 	return ((numCells <= 35) ? 5 : 6); 	//返回行數
	 } 	
	
	private int  getFirstDayOfMonth(int year, int month) {  //得到每月的第一天
		int firstDay; 
		int i;	
		if (year < 1582) { //年份小于1582年,返回-1
			return (-1); 
		}
		if ((month < 0) || (month > 11)) { //月份數錯誤,返回-1
			return (-1);	 
		}
	 	firstDay = getFirstDayOfYear(year);	//得到每年的第一天
	 	for (i = 0; i < month; i++) {
	 		firstDay += daysInMonth[i]; //計算每月的第一天
	 	}	
	 	if ((month > FEBRUARY) && calendar.isLeapYear(year)) {
	 		firstDay++; 
	 	}
		return (firstDay % 7); 			
	 } 		

	private int getFirstDayOfYear(int year){ //計算每年的第一天
		int leapYears; 
		int hundreds;
		int fourHundreds; 	
		int first;
	 	if (year < 1582) { //如果年份小于1582年
	 		return (-1); //返回-1
	 	} 
	 	leapYears = (year - 1581) / 4;
	 	hundreds = (year - 1501) / 100;
	 	leapYears -= hundreds;
	 	fourHundreds = (year - 1201) / 400; 
	 	leapYears += fourHundreds;
	 	first=5 + (year - 1582) + leapYears % 7; //得到每年第一天
	 	return first; 	
	 } 
} 

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲一区免费观看| 欧美激情一区二区三区四区| 国产不卡视频一区二区三区| 麻豆视频观看网址久久| 国产一区二区三区免费观看| 国产大陆精品国产| 欧美性淫爽ww久久久久无| 欧美亚洲国产怡红院影院| 欧美少妇bbb| 日韩欧美国产一区二区三区| 久久色.com| ...xxx性欧美| 麻豆国产欧美日韩综合精品二区| 国产精品一区二区久激情瑜伽| 91色porny| 国产网站一区二区| 日韩精品一卡二卡三卡四卡无卡| 免费观看在线综合色| 成av人片一区二区| 精品国产123| 日本在线不卡视频| 在线精品视频小说1| 欧美激情一区二区在线| 国内成人精品2018免费看| 日本韩国欧美三级| 中文字幕乱码亚洲精品一区| 丝袜亚洲另类欧美| 欧美三片在线视频观看| 欧美极品xxx| 国产成人免费在线视频| 久久久影视传媒| 蜜臀av在线播放一区二区三区| 欧美日精品一区视频| 亚洲欧洲av另类| caoporn国产精品| 综合亚洲深深色噜噜狠狠网站| 国产麻豆精品一区二区| 久久综合久久99| 国产一区999| √…a在线天堂一区| 欧美日韩精品久久久| 男人操女人的视频在线观看欧美| 日韩一区二区三区电影在线观看 | 91色|porny| 亚洲成人免费在线| 日韩一区二区三区免费看| 免费观看日韩电影| 国产亚洲欧美在线| 日本精品视频一区二区| 日韩在线a电影| 精品人在线二区三区| 不卡区在线中文字幕| 天堂蜜桃91精品| 国产日本欧洲亚洲| 91在线porny国产在线看| 亚洲国产精品一区二区www| 制服丝袜一区二区三区| 处破女av一区二区| 亚洲美女精品一区| 69av一区二区三区| 91高清视频免费看| 国产在线精品一区二区不卡了| 国产精品国产自产拍高清av王其| 在线观看欧美日本| 黄色日韩三级电影| 亚洲欧美成aⅴ人在线观看| 欧美日韩一二三区| 91色porny| 成人av网站免费| 亚洲综合免费观看高清完整版| 欧美日韩国产成人在线免费| 国产精品综合二区| 亚洲自拍偷拍欧美| 久久青草国产手机看片福利盒子| 91高清视频免费看| 99久久久精品| 国产成人在线看| 激情五月婷婷综合网| 午夜精品在线视频一区| 亚洲综合一区二区| 亚洲欧美日韩小说| 亚洲精品日韩一| 亚洲女女做受ⅹxx高潮| 中文字幕一区二| 久久人人超碰精品| 久久精品欧美一区二区三区不卡 | 欧美日本国产一区| 欧美另类z0zxhd电影| 欧美一区二区视频在线观看2022| 欧美剧在线免费观看网站| 欧美日韩国产一二三| 日韩一区二区在线看| 精品国一区二区三区| 国产精品情趣视频| 一区二区三区不卡视频| 日韩中文字幕麻豆| 捆绑调教一区二区三区| av不卡在线播放| 91精品国产综合久久香蕉的特点 | 3atv一区二区三区| 中文字幕制服丝袜一区二区三区| 一区二区在线免费| 国产成人亚洲综合a∨婷婷 | 麻豆精品国产传媒mv男同| 91丝袜美腿高跟国产极品老师| 欧美精品免费视频| 亚洲精品视频在线| 成人高清在线视频| 国产欧美1区2区3区| 狠狠v欧美v日韩v亚洲ⅴ| 日韩一区二区免费在线电影| 亚洲欧美日韩国产成人精品影院 | 视频一区在线播放| 黄页网站大全一区二区| 色综合久久中文综合久久牛| 国产午夜精品在线观看| 午夜精品在线视频一区| 欧美日韩久久久久久| 伊人夜夜躁av伊人久久| 欧美日韩国产一二三| 亚洲亚洲人成综合网络| av一区二区三区在线| 国产欧美日韩激情| 99riav久久精品riav| 中文字幕亚洲精品在线观看| 国产福利一区在线| 中文字幕av资源一区| 国产成人精品亚洲777人妖| 久久亚洲精华国产精华液| 国产99精品在线观看| 精品理论电影在线观看 | 国产美女精品人人做人人爽| 欧美日韩中文一区| 久久国产精品色| 制服丝袜一区二区三区| 久久久久久久久99精品| 日韩欧美色综合| 视频一区二区三区在线| 中文字幕中文字幕一区| 欧美一级黄色录像| 91精品国产乱码久久蜜臀| 色呦呦国产精品| 色综合一个色综合| 国产乱码精品一区二区三| 亚洲精品久久嫩草网站秘色| 精品久久一区二区| 欧美日韩成人一区二区| 国产99精品国产| 亚洲色图欧洲色图婷婷| 久久蜜桃av一区精品变态类天堂 | 亚洲成人午夜电影| 久久久久免费观看| 欧美三级三级三级爽爽爽| 久久99国产精品免费| 中文字幕亚洲区| 欧美激情一区三区| 中文字幕国产精品一区二区| 欧美一卡在线观看| 欧美裸体bbwbbwbbw| 在线观看一区二区视频| 色哟哟一区二区| 在线综合视频播放| 国产成人免费视频精品含羞草妖精 | 色悠悠久久综合| 99久久国产免费看| 99精品热视频| 91精选在线观看| 欧美国产激情二区三区| 亚洲久草在线视频| 日精品一区二区| 成人高清伦理免费影院在线观看| 91麻豆免费视频| 精品久久久久99| 亚洲精品乱码久久久久久| 老司机午夜精品| 91亚洲永久精品| 久久免费精品国产久精品久久久久| 亚洲少妇30p| 国产麻豆成人传媒免费观看| 在线不卡一区二区| 中文文精品字幕一区二区| 亚洲一级二级三级| 成人18视频在线播放| 337p粉嫩大胆噜噜噜噜噜91av| 亚洲一区二区三区国产| 99久久99久久精品国产片果冻| 欧美草草影院在线视频| 一区二区三区加勒比av| 国产aⅴ综合色| 欧美一区二区视频网站| 国产精品久久久久aaaa樱花| 国产一区二区三区四区五区美女| 2014亚洲片线观看视频免费| 国产麻豆精品视频| 日韩美女视频一区二区| 99热精品国产| 国产欧美一区二区精品久导航| 亚洲va在线va天堂| 欧美日本在线一区| 男女性色大片免费观看一区二区|