Java Swing单击文本框弹出日历组件
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Java Swing单击文本框弹出日历组件2011-04-07 16:12
package com.niit.swing2;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.Font;
import java.awt.Frame;
import java.awt.GridLayout;
import java.awt.Point;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JFormattedTextField;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JSpinner;
import javax.swing.SpinnerNumberModel;
import javax.swing.SwingConstants;
import javax.swing.SwingUtilities;
import javax.swing.border.LineBorder;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;
public class DateChooser extends JPanel implements ActionListener, ChangeListener {
/**
*
*/
private static final long serialVersionUID = 1L;
int startYear = 1980; //默认【最小】显示年份
int lastYear = 2050; //默认【最大】显示年份
int width = 270; //界面宽度
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.pink; //控制条底色
Color controlTextColor = Color.white; //控制条标签文字色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
JSpinner monthSpin; //调节月份
JSpinner hourSpin; //调节小时
JSpinner minuteSpin;//调节分钟
JButton[][] daysButton = new JButton[6][7];//用于显示当前月份每一天所对应的星期的按钮数组JFormattedTextField jFormattedTextField;//显示当前选择日期的有格式输入框
Calendar c = getCalendar();
Calendar cal = Calendar.getInstance();
int currentDay=cal.get(Calendar.DAY_OF_MONTH);
DateChooser(JFormattedTextField jftf) {
jFormattedTextField = jftf;
//设置布局及边框
setLayout(new BorderLayout());
setBorder(new LineBorder(backGroundColor, 2));
setBackground(backGroundColor);
//初始化及添加子面板
JPanel topYearAndMonth = createYearAndMonthPanal();
add(topYearAndMonth, BorderLayout.NORTH);
JPanel centerWeekAndDay = createWeekAndDayPanal();
add(centerWeekAndDay, BorderLayout.CENTER);
}