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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? datechooserjbutton.java

?? 簡單的QQ聊天。。服務(wù)器端可監(jiān)視客戶端上下線情況
?? JAVA
字號(hào):
package base.swing;

import java.util.Date;
import java.util.Calendar;
import java.text.SimpleDateFormat;
import java.text.ParseException;
import java.awt.Color;
import java.awt.Font;
import java.awt.Point;
import java.awt.Dimension;
import java.awt.BorderLayout;
import java.awt.FlowLayout;
import java.awt.GridLayout;
import java.awt.Cursor;
import java.awt.Frame;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
//import javax.swing.JFrame;
import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JPanel;
import javax.swing.JLabel;
import javax.swing.JSpinner;
import javax.swing.SpinnerNumberModel;
import javax.swing.SwingUtilities;
import javax.swing.SwingConstants;
import javax.swing.event.ChangeListener;
import javax.swing.event.ChangeEvent;
import javax.swing.border.LineBorder;

@SuppressWarnings("serial")
public class DateChooserJButton extends JButton {

	private DateChooser dateChooser = null;

	private String preLabel = "";
 
	public DateChooserJButton() {
		this(getNowDate());
	}

	public DateChooserJButton(SimpleDateFormat df, String dateString) {
		this();
		setText(df, dateString);
	}

	public DateChooserJButton(Date date) {
		this("", date);
	}

	public DateChooserJButton(String preLabel, Date date) {
		if (preLabel != null)
			this.preLabel = preLabel;
		setDate(date);
		setBorder(null);
		setCursor(new Cursor(Cursor.HAND_CURSOR));
		super.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				if (dateChooser == null)
					dateChooser = new DateChooser();
				Point p = getLocationOnScreen();
				p.y = p.y + 30;
				dateChooser.showDateChooser(p);
			}
		});
	}

	private static Date getNowDate() {
		return Calendar.getInstance().getTime();
	}

	private static SimpleDateFormat getDefaultDateFormat() {
		return new SimpleDateFormat("yyyy年MM月dd日HH時(shí)");
	}

	// 覆蓋父類的方法
	public void setText(String s) {
		Date date;
		try {
			date = getDefaultDateFormat().parse(s);
		} catch (ParseException e) {
			date = getNowDate();
		}
		setDate(date);
	}

	public void setText(SimpleDateFormat df, String s) {
		Date date;
		try {
			date = df.parse(s);
		} catch (ParseException e) {
			date = getNowDate();
		}
		setDate(date);
	}

	public void setDate(Date date) {
		super.setText(preLabel + getDefaultDateFormat().format(date));
	}

	public Date getDate() {
		String dateString = getText().substring(preLabel.length());
		try {
			return getDefaultDateFormat().parse(dateString);
		} catch (ParseException e) {
			return getNowDate();
		}

	}

	// 覆蓋父類的方法使之無效
	public void addActionListener(ActionListener listener) {
	}

	private class DateChooser extends JPanel implements ActionListener,
			ChangeListener {
		int startYear = 1980; // 默認(rèn)【最小】顯示年份

		int lastYear = 2050; // 默認(rèn)【最大】顯示年份

		int width = 200; // 界面寬度

		int height = 200; // 界面高度

		Color backGroundColor = Color.gray; // 底色
		// 月歷表格配色----------------//

		Color palletTableColor = Color.white; // 日歷表底色

		Color todayBackColor = Color.orange; // 今天背景色

		Color weekFontColor = Color.blue; // 星期文字色

		Color dateFontColor = Color.black; // 日期文字色

		Color weekendFontColor = Color.red; // 周末文字色

		// 控制條配色------------------//
		Color controlLineColor = Color.blue; // 控制條底色

		Color controlTextColor = Color.white; // 控制條標(biāo)簽文字色

		Color rbFontColor = Color.white; // RoundBox文字色

		Color rbBorderColor = Color.red; // RoundBox邊框色

		Color rbButtonColor = Color.pink; // RoundBox按鈕色

		Color rbBtFontColor = Color.red; // RoundBox按鈕文字色

		JDialog dialog;

		JSpinner yearSpin;

		JSpinner monthSpin;

		JSpinner hourSpin;

		JButton[][] daysButton = new JButton[6][7];

		DateChooser() {

			setLayout(new BorderLayout());
			setBorder(new LineBorder(backGroundColor, 2));
			setBackground(backGroundColor);

			JPanel topYearAndMonth = createYearAndMonthPanal();
			add(topYearAndMonth, BorderLayout.NORTH);
			JPanel centerWeekAndDay = createWeekAndDayPanal();
			add(centerWeekAndDay, BorderLayout.CENTER);

		}

		private JPanel createYearAndMonthPanal() {
			Calendar c = getCalendar();
			int currentYear = c.get(Calendar.YEAR);
			int currentMonth = c.get(Calendar.MONTH) + 1;
			int currentHour = c.get(Calendar.HOUR_OF_DAY);

			JPanel result = new JPanel();
			result.setLayout(new FlowLayout());
			result.setBackground(new Color(97, 224, 100));

			yearSpin = new JSpinner(new SpinnerNumberModel(currentYear,
					startYear, lastYear, 1));
			yearSpin.setPreferredSize(new Dimension(48, 20));
			yearSpin.setName("Year");
			yearSpin.setEditor(new JSpinner.NumberEditor(yearSpin, "####"));
			yearSpin.addChangeListener(this);
			result.add(yearSpin);

			JLabel yearLabel = new JLabel("年");
			yearLabel.setForeground(controlTextColor);
			result.add(yearLabel);

			monthSpin = new JSpinner(new SpinnerNumberModel(currentMonth, 1,
					12, 1));
			monthSpin.setPreferredSize(new Dimension(35, 20));
			monthSpin.setName("Month");
			monthSpin.addChangeListener(this);
			result.add(monthSpin);

			JLabel monthLabel = new JLabel("月");
			monthLabel.setForeground(controlTextColor);
			result.add(monthLabel);

			hourSpin = new JSpinner(new SpinnerNumberModel(currentHour, 0, 23,
					1));
			hourSpin.setPreferredSize(new Dimension(35, 20));
			hourSpin.setName("Hour");
			hourSpin.addChangeListener(this);
			result.add(hourSpin);

			JLabel hourLabel = new JLabel("時(shí)");
			hourLabel.setForeground(controlTextColor);
			result.add(hourLabel);

			return result;
		}

		private JPanel createWeekAndDayPanal() {
			String colname[] = { "日", "一", "二", "三", "四", "五", "六" };
			JPanel result = new JPanel();
			// 設(shè)置固定字體,以免調(diào)用環(huán)境改變影響界面美觀
			result.setFont(new Font("宋體", Font.PLAIN, 12));
			result.setLayout(new GridLayout(7, 7));
			result.setBackground(Color.white);
			JLabel cell;

			for (int i = 0; i < 7; i++) {
				cell = new JLabel(colname[i]);
				cell.setHorizontalAlignment(JLabel.RIGHT);
				if (i == 0 || i == 6)
					cell.setForeground(weekendFontColor);
				else
					cell.setForeground(weekFontColor);
				result.add(cell);
			}

			int actionCommandId = 0;
			for (int i = 0; i < 6; i++)
				for (int j = 0; j < 7; j++) {
					JButton numberButton = new JButton();
					numberButton.setBorder(null);
					numberButton.setHorizontalAlignment(SwingConstants.RIGHT);
					numberButton.setActionCommand(String
							.valueOf(actionCommandId));
					numberButton.addActionListener(this);
					numberButton.setBackground(palletTableColor);
					numberButton.setForeground(dateFontColor);
					if (j == 0 || j == 6)
						numberButton.setForeground(weekendFontColor);
					else
						numberButton.setForeground(dateFontColor);
					daysButton[i][j] = numberButton;
					result.add(numberButton);
					actionCommandId++;
				}

			return result;
		}

		private JDialog createDialog(Frame owner) {
			JDialog result = new JDialog(owner, "日期時(shí)間選擇", true);
			result.setDefaultCloseOperation(JDialog.HIDE_ON_CLOSE);
			result.getContentPane().add(this, BorderLayout.CENTER);
			result.pack();
			result.setSize(width, height);
			return result;
		}

		@SuppressWarnings("deprecation")
		void showDateChooser(Point position) {
			Frame owner = (Frame) SwingUtilities
					.getWindowAncestor(DateChooserJButton.this);
			if (dialog == null || dialog.getOwner() != owner)
				dialog = createDialog(owner);
			dialog.setLocation(getAppropriateLocation(owner, position));
			flushWeekAndDay();
			dialog.show();
		}

		Point getAppropriateLocation(Frame owner, Point position) {
			Point result = new Point(position);
			Point p = owner.getLocation();
			int offsetX = (position.x + width) - (p.x + owner.getWidth());
			int offsetY = (position.y + height) - (p.y + owner.getHeight());

			if (offsetX > 0) {
				result.x -= offsetX;
			}

			if (offsetY > 0) {
				result.y -= offsetY;
			}

			return result;

		}

		private Calendar getCalendar() {
			Calendar result = Calendar.getInstance();
			result.setTime(getDate());
			return result;
		}

		private int getSelectedYear() {
			return ((Integer) yearSpin.getValue()).intValue();
		}

		private int getSelectedMonth() {
			return ((Integer) monthSpin.getValue()).intValue();
		}

		private int getSelectedHour() {
			return ((Integer) hourSpin.getValue()).intValue();
		}

		private void dayColorUpdate(boolean isOldDay) {
			Calendar c = getCalendar();
			int day = c.get(Calendar.DAY_OF_MONTH);
			c.set(Calendar.DAY_OF_MONTH, 1);
			int actionCommandId = day - 2 + c.get(Calendar.DAY_OF_WEEK);
			int i = actionCommandId / 7;
			int j = actionCommandId % 7;
			if (isOldDay)
				daysButton[i][j].setForeground(dateFontColor);
			else
				daysButton[i][j].setForeground(todayBackColor);
		}

		private void flushWeekAndDay() {
			Calendar c = getCalendar();
			c.set(Calendar.DAY_OF_MONTH, 1);
			int maxDayNo = c.getActualMaximum(Calendar.DAY_OF_MONTH);
			int dayNo = 2 - c.get(Calendar.DAY_OF_WEEK);
			for (int i = 0; i < 6; i++) {
				for (int j = 0; j < 7; j++) {
					String s = "";
					if (dayNo >= 1 && dayNo <= maxDayNo)
						s = String.valueOf(dayNo);
					daysButton[i][j].setText(s);
					dayNo++;
				}
			}
			dayColorUpdate(false);
		}

		public void stateChanged(ChangeEvent e) {
			JSpinner source = (JSpinner) e.getSource();
			Calendar c = getCalendar();
			if (source.getName().equals("Hour")) {
				c.set(Calendar.HOUR_OF_DAY, getSelectedHour());
				setDate(c.getTime());
				return;
			}

			dayColorUpdate(true);

			if (source.getName().equals("Year"))
				c.set(Calendar.YEAR, getSelectedYear());
			else
				// (source.getName().equals("Month"))
				c.set(Calendar.MONTH, getSelectedMonth() - 1);
			setDate(c.getTime());
			flushWeekAndDay();
		}

		public void actionPerformed(ActionEvent e) {
			JButton source = (JButton) e.getSource();
			if (source.getText().length() == 0)
				return;
			dayColorUpdate(true);
			source.setForeground(todayBackColor);
			int newDay = Integer.parseInt(source.getText());
			Calendar c = getCalendar();
			c.set(Calendar.DAY_OF_MONTH, newDay);
			setDate(c.getTime());
		}

	}

}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲h在线观看| 一区二区三区在线播| 在线日韩一区二区| 97久久精品人人做人人爽50路| 久久se精品一区精品二区| 日韩二区三区四区| 伦理电影国产精品| 国产一区二区三区久久久| 国产揄拍国内精品对白| 国产精品69毛片高清亚洲| 精品无码三级在线观看视频| 狠狠色丁香婷综合久久| 国产麻豆成人精品| 成人av网站大全| 一本到一区二区三区| 在线观看国产91| 欧美另类高清zo欧美| 日韩一级欧美一级| 久久新电视剧免费观看| 欧美激情一区二区在线| 国产精品久久久久久久久果冻传媒| 国产精品久久久久久久久快鸭 | 色婷婷综合视频在线观看| 成人av免费在线播放| 色哟哟国产精品| 欧美一级视频精品观看| 久久先锋资源网| 亚洲男同性恋视频| 麻豆91精品视频| 国产成人午夜精品5599| 91成人看片片| 久久亚洲一区二区三区四区| 国产精品每日更新在线播放网址| 亚洲三级视频在线观看| 日本中文在线一区| 99久久精品国产导航| 欧美日产在线观看| 国产精品乱码一区二区三区软件| 一区二区三区四区中文字幕| 国内偷窥港台综合视频在线播放| 成人免费视频app| 欧美日韩国产区一| 日本一区二区三区四区在线视频| 亚洲在线一区二区三区| 国产高清不卡二三区| 欧美精品在线一区二区三区| 国产精品美女www爽爽爽| 日韩精品视频网站| 色一情一伦一子一伦一区| 精品入口麻豆88视频| 亚洲伊人伊色伊影伊综合网| 国产精品996| 欧美一级夜夜爽| 亚洲线精品一区二区三区八戒| 国产剧情在线观看一区二区| 7777精品伊人久久久大香线蕉最新版| 中国av一区二区三区| 久久99精品久久久久久动态图| 欧美性色aⅴ视频一区日韩精品| 国产午夜精品福利| 狠狠色丁香久久婷婷综合_中| 在线观看三级视频欧美| 国产精品国产三级国产普通话蜜臀 | 欧美一级午夜免费电影| 一区二区三区四区视频精品免费| 国产精品88888| 精品成人一区二区三区| 丝袜亚洲另类欧美综合| 欧美婷婷六月丁香综合色| 亚洲少妇最新在线视频| 成人免费视频一区二区| 国产亚洲欧美激情| 国产伦精品一区二区三区在线观看| 337p亚洲精品色噜噜| 午夜久久久久久久久久一区二区| 色综合一个色综合| 国产精品久久精品日日| 成人h版在线观看| 国产精品视频一区二区三区不卡| 国产一区 二区| 久久久精品国产免大香伊| 国产一区激情在线| 国产午夜亚洲精品理论片色戒| 国产原创一区二区| 国产欧美日韩一区二区三区在线观看 | 中文字幕中文在线不卡住| 成人在线视频首页| 国产精品美女久久久久av爽李琼 | 亚洲欧洲国产日本综合| 不卡的av在线播放| 亚洲视频免费观看| 欧美日本乱大交xxxxx| 日本欧美韩国一区三区| 欧美一区二区三区视频在线观看| 日日摸夜夜添夜夜添国产精品 | 26uuu亚洲婷婷狠狠天堂| 国产麻豆视频精品| 亚洲欧洲日本在线| 欧美三级电影网| 久久99国产乱子伦精品免费| 久久久久国产精品免费免费搜索 | 国产精品卡一卡二卡三| 日本韩国精品一区二区在线观看| 亚洲成人精品一区二区| 精品成a人在线观看| 51精品久久久久久久蜜臀| 奇米精品一区二区三区四区| 欧美大片日本大片免费观看| 国产成人亚洲综合色影视| 亚洲宅男天堂在线观看无病毒| 91精品国产乱| 波多野结衣精品在线| 视频一区视频二区在线观看| 国产亚洲制服色| 欧美美女黄视频| av在线不卡观看免费观看| 青娱乐精品在线视频| 亚洲图片激情小说| 精品欧美乱码久久久久久1区2区| av电影在线观看一区| 麻豆视频观看网址久久| 亚洲精品国产一区二区精华液| 日韩欧美国产综合一区| 色综合中文字幕国产| 视频一区中文字幕| 亚洲欧洲另类国产综合| 欧美精品一区二区三区蜜桃| 一本一本大道香蕉久在线精品| 韩国视频一区二区| 石原莉奈在线亚洲二区| 亚洲欧美欧美一区二区三区| 久久久久久久久久久久电影| 欧美日韩成人一区| 欧美专区日韩专区| 不卡一区二区中文字幕| 国产一二三精品| 久久成人18免费观看| 天天操天天综合网| 亚洲制服丝袜在线| 樱花影视一区二区| 亚洲欧美激情插| 中文字幕一区av| 国产精品久久久久婷婷| 国产日韩欧美麻豆| 久久蜜桃香蕉精品一区二区三区| 欧美一区二区美女| 777欧美精品| 欧美一区二区不卡视频| 在线成人小视频| 欧美日韩国产高清一区| 欧美日韩三级在线| 欧美日韩国产123区| 精品视频全国免费看| 欧美综合在线视频| 在线中文字幕一区二区| 一道本成人在线| 91国偷自产一区二区使用方法| 91网址在线看| 在线国产电影不卡| 欧美日韩视频专区在线播放| 欧美日韩精品一区二区天天拍小说 | 亚洲女人的天堂| 亚洲精选一二三| 亚洲一区二区五区| 日韩av网站在线观看| 久久草av在线| 成人av小说网| 欧美中文字幕亚洲一区二区va在线 | 欧美不卡在线视频| 26uuu亚洲| 亚洲国产精品久久久男人的天堂| 欧美男女性生活在线直播观看| 欧美日韩你懂得| 日韩视频123| 国产喂奶挤奶一区二区三区| 国产精品久久久久久久久果冻传媒| 亚洲欧美区自拍先锋| 日韩av网站在线观看| 韩国女主播成人在线观看| 国产精品性做久久久久久| aaa欧美大片| 91精品一区二区三区在线观看| 欧美成人伊人久久综合网| 日本一区二区三区国色天香| 一区二区三区精品视频在线| 肉色丝袜一区二区| 懂色av一区二区夜夜嗨| 日本高清不卡aⅴ免费网站| 日韩一区二区三区观看| 国产三级精品三级| 亚洲香肠在线观看| 粉嫩高潮美女一区二区三区| 91福利在线看| 久久久国产午夜精品| 亚洲高清在线精品| 丰满少妇久久久久久久| 欧美精品在欧美一区二区少妇| 久久久影视传媒| 日韩高清在线一区| 色综合天天天天做夜夜夜夜做|