ImageVerifierCode 换一换
格式:DOCX , 页数:29 ,大小:50.49KB ,
资源ID:27752822      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/27752822.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(java万年历设计源码附截图.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

java万年历设计源码附截图.docx

1、java万年历设计源码附截图import java.awt.*;import java.awt.event.*;import javax.swing.*;import javax.swing.table.DefaultTableModel;import java.io.*;import java.text.DateFormat;import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date;import java.util.GregorianCalendar;import java.util.L

2、ocale;import java.util.TimeZone;public class h_main1 extends JFrame implements ActionListener, MouseListener private Calendar cld = Calendar.getInstance();/获取一个Calendar类的实例对象 private String astr = 星期一, 星期二, 星期三, 星期四, 星期五, 星期六, 星期日 ; private DefaultTableModel dtm = new DefaultTableModel(null, astr);

3、private JTable table = new JTable(dtm); private JScrollPane sp = new JScrollPane(table); private JButton bLastYear = new JButton(上一年); private JButton bNextYear = new JButton(下一年); private JButton bLastMonth = new JButton(上月); private JButton bNextMonth = new JButton(下月); private JButton bAddClock =

4、 new JButton(确定); private JPanel p1 = new JPanel(); / 装入控制日期的按钮模块 private JPanel p2 = new JPanel(new GridLayout(3,2); private JPanel p3 = new JPanel(new BorderLayout(); private JPanel p4 = new JPanel(new GridLayout(2,1); private JPanel p5 = new JPanel(new BorderLayout(); private JPanel p6 = new JPan

5、el(new GridLayout(2,2); private JPanel p7 = new JPanel(new GridLayout(2,1); private JPanel p8 = new JPanel(new BorderLayout(); private JComboBox timeBox = new JComboBox(TimeZone.getAvailableIDs();/对所有支持时区进行迭代,获取所有的id; private JTextField jtfYear = new JTextField(5);/ jtfYeaar年份显示输入框 private JTextFiel

6、d jtfMonth = new JTextField(2);/ jtfMouth月份显示输入框 private JTextField timeField=new JTextField(); private JTextField h1=new JTextField(5); private JTextField m1=new JTextField(5); private static JTextArea jta = new JTextArea(10,5); private JScrollPane jsp = new JScrollPane(jta); private JTextArea jta1

7、 = new JTextArea(5,4); private JScrollPane jsp1 = new JScrollPane(jta1); private JLabel l = new JLabel(你可以向年份输入框中输入年份,提高查询效率); private JLabel lt = new JLabel(); private JLabel ld = new JLabel(); private JLabel ts=new JLabel(请在右边下拉菜单选择你要选择的城市); private JLabel clock= new JLabel(闹钟); private JLabel not

8、ice= new JLabel(备忘录); private JLabel hour = new JLabel(小时); private JLabel minute= new JLabel(分钟); private JLabel lu = new JLabel(农历和节气); private JLabel null1=new JLabel(); private int lastTime; private String localTime = null; private String s = null; private SimpleDateFormat dateFormat=new SimpleD

9、ateFormat(yyyy年MM月dd日 hh时mm分ss秒); public h_main1() super(My Calender);/ 框架命名 this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);/ 窗口关闭函数 this.getContentPane().setLayout(new BorderLayout(5, 5); jta.setLineWrap(true);/ 长度大于分配长度时候则换行 table.setGridColor(Color.GRAY);/ 星期之间的网格线是灰色的 table.setColumnSelecti

10、onAllowed(true);/ 将table中的列设置为可选择的 table.setSelectionBackground(Color.GRAY);/ 当选定某一天时背景颜色为黑色 table.setSelectionForeground(Color.GREEN); table.setBackground(new Color(184,207, 229);/ 日期显示表格为浅蓝色 table.setFont(new Font(黑体, Font.BOLD, 24);/ 日期数字字体格式 table.setRowHeight(30);/ 表格的高度 table.addMouseListener(

11、this); / 鼠标监听器 jtfYear.addActionListener(this);/ 可输入年份的文本框 / 为各个按钮添加监听函数 bLastYear.addActionListener(this); bNextYear.addActionListener(this); bLastMonth.addActionListener(this); bNextMonth.addActionListener(this); bAddClock.addActionListener(this); timeBox.addItemListener(new TimeSelectedChangedLis

12、tener(); / 将按钮添加到Jpane上 p1.add(bLastYear); p1.add(jtfYear);/ 年份输入文本框 p1.add(bNextYear); p1.add(bLastMonth); p1.add(jtfMonth); p1.add(bNextMonth); p2.add(clock); p2.add(bAddClock); p2.add(hour); p2.add(h1); p2.add(minute); p2.add(m1); p3.add(jsp, BorderLayout.SOUTH); p3.add(lu,BorderLayout.CENTER); p

13、3.add(ld, BorderLayout.NORTH); p4.add(l); p4.add(lt); p5.add(p4, BorderLayout.SOUTH); p5.add(sp, BorderLayout.CENTER); p5.add(p1, BorderLayout.NORTH); p6.add(ts); p6.add(timeBox); p6.add(null1); p6.add(timeField); p7.add(notice); p7.add(jsp1); p8.add(p2,BorderLayout.CENTER); p8.add(p7,BorderLayout.S

14、OUTH); 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(new Date() .split(-);/ 获取日期 cld.set(Int

15、eger.parseInt(strDate0), Integer.parseInt(strDate1) - 1,0); showCalendar(Integer.parseInt(strDate0), Integer.parseInt(strDate1), cld); jtfMonth.setEditable(false);/ 设置月份文本框为不可编辑 jtfYear.setText(strDate0); jtfMonth.setText(strDate1); this.showTextArea(strDate2); ld.setFont(new Font(新宋体, Font.BOLD, 24

16、); new Timer(lt).start(); new TimeThread().start(); this.setBounds(200, 200, 700, 350); this.setResizable(false); this.setVisible(true); public void showCalendar(int localYear, int localMonth, Calendar cld) int Days = getDaysOfMonth(localYear, localMonth) + cld.get(Calendar.DAY_OF_WEEK) -2; Object a

17、i = new Object7; lastTime = 0; for (int i = cld.get(Calendar.DAY_OF_WEEK)-1; i = Days; i+) aii%7 = String.valueOf(i-(cld.get(Calendar.DAY_OF_WEEK)-2); if (i%7 = 6) dtm.addRow(ai); ai = new Object7; lastTime+; dtm.addRow(ai); public int getDaysOfMonth(int Year, int Month) if(Month=1|Month=3|Month=5|M

18、onth=7|Month=8|Month=10|Month=12) return 31; if(Month=4|Month=6|Month=9|Month=11) return 30; if(Year%4=0&Year%100!=0|Year%400=0)/闰年 return 29; else return 28; public void actionPerformed(ActionEvent e) if(e.getSource() = jtfYear | e.getSource() = bLastYear | e.getSource() = bNextYear | e.getSource()

19、 = bLastMonth | e.getSource() = bNextMonth|e.getSource()=bAddClock) int m, y; try/控制输入的年份正确,异常控制 if (jtfYear.getText().length() != 4) throw new NumberFormatException(); y = Integer.parseInt(jtfYear.getText(); m = Integer.parseInt(jtfMonth.getText(); catch (NumberFormatException ex) JOptionPane.showM

20、essageDialog(this, 请输入4位0-9的数字!, 年份有误, JOptionPane.ERROR_MESSAGE); return; ld.setText(没有选择日期); for (int i = 0; i lastTime+1; i+) dtm.removeRow(0); if(e.getSource() = bLastYear) jtfYear.setText(String.valueOf(-y); if(e.getSource() = bNextYear)jtfYear.setText(String.valueOf(+y); if(e.getSource() = bLa

21、stMonth) if(m = 1) jtfYear.setText(String.valueOf(-y); m = 12; jtfMonth.setText(String.valueOf(m); else jtfMonth.setText(String.valueOf(-m); if(e.getSource() = bNextMonth) if(m = 12) jtfYear.setText(String.valueOf(+y); m = 1; jtfMonth.setText(String.valueOf(m); else jtfMonth.setText(String.valueOf(+

22、m); cld.set(y, m-1, 0); showCalendar(y, m, cld); if(e.getSource()=bAddClock) try Clock clock=new Clock(); clock.start(); if(Integer.parseInt(h1.getText()23| Integer.parseInt(m1.getText()59) throw(new Exception(); catch(Exception ex) JOptionPane.showMessageDialog(this, 时数应该为023,分钟数应该为059, 时间有误, JOpti

23、onPane.ERROR_MESSAGE); public void mouseClicked(MouseEvent e) jta.setText(null); int r = table.getSelectedRow(); int c = table.getSelectedColumn(); if (table.getValueAt(r,c) = null) ld.setText(没有选择日期); else this.showTextArea(table.getValueAt(r,c); private void showTextArea(Object selected) /在这里将公历化为

24、农历 ld.setText(jtfYear.getText()+年+jtfMonth.getText()+月+selected+日); public static void main(String args) JFrame.setDefaultLookAndFeelDecorated(true); JDialog.setDefaultLookAndFeelDecorated(true); new h_main1(); jta.setText(today(); private void updateTimeText(String timeZoneId) if(timeZoneId != null

25、) TimeZone timeZone = TimeZone.getTimeZone(timeZoneId); dateFormat.setTimeZone(timeZone); Calendar calendar = Calendar.getInstance(); calendar.setTimeZone(timeZone); timeField.setText(dateFormat.format(calendar.getTime(); else timeField.setText(null); private class TimeSelectedChangedListener implem

26、ents ItemListener public void itemStateChanged(ItemEvent e) if (e.getStateChange()=ItemEvent.SELECTED) if (e.getItem() instanceof String) s = e.getItem().toString(); private class TimeThread extends Thread public void run() while(true) updateTimeText(s); try Thread.sleep(100); catch(InterruptedExcep

27、tion e) e.printStackTrace(); class Clock extends Thread /闹钟线程 public void run() while(true) Calendar now=Calendar.getInstance(); int h=now.get(Calendar.HOUR_OF_DAY);/获取小时 int mi=now.get(Calendar.MINUTE);/获取分钟 int s=now.get(Calendar.SECOND);/获取秒钟 int ss=h*3600+mi*60+s; if(ss(Integer.parseInt(h1.getTe

28、xt()*3600+Integer.parseInt(m1.getText()*60+0) &ssInteger.parseInt(h1.getText()*3600+(Integer.parseInt(m1.getText()+5)*60+0) jta1.setText(闹钟启动); else jta1.setText(没有正在提示的闹钟); class Timer extends Thread /显示系统时间 private JLabel lt; private SimpleDateFormat fy = new SimpleDateFormat(yyyy.MM.dd G at HH:mm:ss z); private boolean b=true; public Timer(JLabel lt) this.lt=lt; public void run() while(true) try lt.setText(fy.format(new Date(); this.sleep(1000); ca

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1