Java万年历源代码,可显示公历、农历、系统时间、国际时间.docx
- 文档编号:157073
- 上传时间:2022-10-04
- 格式:DOCX
- 页数:13
- 大小:43.60KB
Java万年历源代码,可显示公历、农历、系统时间、国际时间.docx
《Java万年历源代码,可显示公历、农历、系统时间、国际时间.docx》由会员分享,可在线阅读,更多相关《Java万年历源代码,可显示公历、农历、系统时间、国际时间.docx(13页珍藏版)》请在冰豆网上搜索。
importjava.awt.*;
importjava.awt.event.*;
importjavax.swing.*;
importjavax.swing.table.DefaultTableModel;
importjava.text.DateFormat;
importjava.text.SimpleDateFormat;
importjava.util.Calendar;
importjava.util.Date;
importjava.util.GregorianCalendar;
importjava.util.Locale;
importjava.util.TimeZone;
publicclasswannianliextendsJFrameimplementsActionListener,MouseListener{
privateCalendarcld=Calendar.getInstance();//获取一个Calendar类的实例对象
privateString[]astr={"星期一","星期二","星期三","星期四","星期五","星期六","星期日"};
privateDefaultTableModeldtm=newDefaultTableModel(null,astr);
privateJTabletable=newJTable(dtm);
privateJScrollPanesp=newJScrollPane(table);
privateJButtonbLastYear=newJButton("上一年");
privateJButtonbNextYear=newJButton("下一年");
privateJButtonbLastMonth=newJButton("上月");
privateJButtonbNextMonth=newJButton("下月");
privateJPanelp1=newJPanel();//设立八个中间容器,装入布局控制日期的按钮模块
privateJPanelp2=newJPanel(newGridLayout(3,2));//网格布局
privateJPanelp3=newJPanel(newBorderLayout());//边界布局
privateJPanelp4=newJPanel(newGridLayout(2,1));
privateJPanelp5=newJPanel(newBorderLayout());
privateJPanelp6=newJPanel(newGridLayout(2,2));
privateJPanelp7=newJPanel(newGridLayout(2,1));
privateJPanelp8=newJPanel(newBorderLayout());
privateJComboBoxtimeBox=newJComboBox(TimeZone.getAvailableIDs());//对所有支持时区进行迭代,获取所有的id;
privateJTextFieldjtfYear=newJTextField(5);//jtfYeaar年份显示输入框
privateJTextFieldjtfMonth=newJTextField
(2);//jtfMouth月份显示输入框
privateJTextFieldtimeField=newJTextField();//各城市时间显示框
privatestaticJTextAreajta=newJTextArea(10,5);//农历显示区
privateJScrollPanejsp=newJScrollPane(jta);
privateJLabell=newJLabel("花江小精灵:
亲!
你可以直接输入年月查询.");
privateJLabellt=newJLabel();
privateJLabelld=newJLabel();
privateJLabellu=newJLabel("农历和节气");
privateJLabelnull1=newJLabel();
privateintlastTime;
//privateStringlocalTime=null;
privateStrings=null;
privateSimpleDateFormatdateFormat=newSimpleDateFormat("yyyy年MM月dd日hh时mm分ss秒");
publicwannianli(){
super("花江日历过去仅留追忆,未来刚生憧憬,唯有坚守本心,把握今天ZYT詹永堂");//框架命名
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//窗口关闭函数
this.getContentPane().setLayout(newBorderLayout(9,10));
jta.setLineWrap(true);//长度大于分配长度时候则换行
jta.setFont(newFont("黑体",Font.BOLD,16));
table.setBackground(Color.white);
table.setGridColor(Color.pink);//星期之间的网格线是灰色的
table.setBackground(Color.white);
table.setColumnSelectionAllowed(true);//将table中的列设置为可选择的
table.setSelectionBackground(Color.pink);//当选定某一天时背景颜色为黑色
table.setSelectionForeground(Color.GREEN);
table.setBackground(newColor(184,207,229));//日期显示表格为浅蓝色
table.setFont(newFont("黑体",Font.BOLD,24));//日期数字字体格式
table.setRowHeight(26);//表格的高度
table.addMouseListener(this);//鼠标监听器、
lu.setFont(newFont("黑体",Font.BOLD,22));//农历标签格氏
jtfYear.addActionListener(this);//可输入年份的文本框
//为各个按钮添加监听函数
bLastYear.addActionListener(this);
bNextYear.addActionListener(this);
bLastMonth.addActionListener(this);
bNextMonth.addActionListener(this);
timeBox.addItemListener(newTimeSelectedChangedListener());
//将按钮添加到Jpane上
p1.add(bLastYear);
p1.add(jtfYear);//年份输入文本框
p1.add(bNextYear);
p1.add(bLastMonth);
p1.add(jtfMonth);
p1.add(bNextMonth);
p3.add(jsp,BorderLayout.SOUTH);
p3.add(lu,BorderLayout.CENTER);
p3.add(ld,BorderLayout.NORTH);
p4.add(lt);
p4.add(l);
p5.add(p4,BorderLayout.SOUTH);
p5.add(sp,BorderLayout.CENTER);
p5.add(p1,BorderLayout.NORTH);
p6.add(timeBox);
p6.add(null1);
p6.add(timeField);
p8.add(p2,BorderLayout.CENTER);
p8.add(p7,BorderLayout.SOUTH);
this.getContentPane().add(p3,BorderLayout.EAST);
this.getContentPane().add(p5,BorderLayout.CENTER);
this.getContentPane().add(p6,BorderLayout.SOUTH);
this.getContentPane().add(p8,BorderLayout.WEST);
String[]strDate=DateFormat.getDateInstance().format(newDate())
.split("-");//获取日期
cld.set(Integer.parseInt(strDate[0]),Integer.parseInt(strDate[1])-1,0);
showCalendar(Integer.parseInt(strDate[0]),
Integer.parseInt(strDate[1]),cld);
jtfMonth.setEditable(false);//设置月份文本框为不可编辑
jtfYear.setText(strDate[0]);
jtfMonth.setText(strDate[1]);
this.showTextArea(strDate[2]);
ld.setFont(newFont("新宋体",Font.BOLD,24));
newTimer(lt).start();
newTimeThread().start();
this.setBounds(200,200,700,350);
this.setResizable(false);
this.setVisible(true);
}
publicvoidshowCalendar(intlocalYear,intlocalMonth,Calendarcld)
{
intDays=getDaysOfMonth(localYear,localMonth)+cld.get(Calendar.DAY_OF_WEEK)-2;
Object[]ai=newObject[7];
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 万年历 源代码 显示 公历 农历 系统 时间 国际