




已阅读5页,还剩41页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
课程设计报告 JAVA程序设计包含多个实例(让你更加容易学习知识、找到自己想要的东西) 第一个:一个比较综合的阴历和阳历的java源程序/* 阴历及节日程序 2008 beta1 免费软件(Free Software) 你可以无限传播与反编译 该日历有三种外观样式,有从1900年至2049年间的所有阴历 个人爱好开发 作者:朱春 Email: Copyright 2008- All Rights Reserved FileName:Simple_Calendar */import java.text.*;import java.awt.*;import javax.swing.*;import java.awt.event.*;import javax.swing.border.*;import java.util.*;import javax.swing.*;public class Simple Calendar extends JFrame implements ActionListener public static void main(String args) SwingConsole.run(new Simple_Calendar(),525,525); public Simple_Calendar() setTitle( 阴历及节日软件 2008 beta1); setIconImage(this.getToolkit().createImage(title.gif); setResizable(false); calendar = Calendar.getInstance(); today = calendar.get(Calendar.DAY_OF_MONTH); panel_Header=initializtion_Header(); panel_Week =initializtion_Week(); panel_Calendar=initializtion_Calendar(); setLayout(null); setBounds(185,125,0,0); add(panel_Header);panel_Calendar.setBounds(0 ,0 ,525 , 45); add(panel_Week); panel_Week.setBounds(0 ,45 ,525 , 35); add(panel_Calendar);panel_Calendar.setBounds(0 ,80 ,525 , 415) ; initializtion_Data(calendar); private JPanel initializtion_Header()/显示表头的panel JPanel panel = new JPanel(); year_box = new JComboBox(); month_box = new JComboBox(); cross=new JRadioButton(c,false);cross.addActionListener(new LookAndFeel_Listener(); system=new JRadioButton(s,false);system.addActionListener(new LookAndFeel_Listener(); motif=new JRadioButton(m,false);motif.addActionListener(new LookAndFeel_Listener(); feel_group= new ButtonGroup(); show_help = new JButton(说 明); show_help.addActionListener(new Statement_Listener(); feel_group.add(cross);feel_group.add(system);feel_group.add(motif); panel.setBorder(new EtchedBorder(5,Color.red,Color.BLUE); JLabel year_l = new JLabel(请您选择年份: ,JLabel.RIGHT); JLabel month_l = new JLabel(月份: ,JLabel.RIGHT); panel.setLayout(null); panel.setSize(525,45); for(int i = 1900 ;i 2050 ; i+) year_box.addItem(+i); for(int j = 1 ; j = 12 ;j+) month_box.addItem(+j) ; year_box.setSelectedIndex(calendar.get(Calendar.YEAR)-1900); month_box.setSelectedIndex(calendar.get(Calendar.MONTH); panel.add(year_l); year_l.setBounds(0,10,95,25); panel.add(year_box); year_box.setBounds(100,10,65,25); panel.add(month_l); month_l.setBounds(160,10,45,25); panel.add(month_box);month_box.setBounds(210,10,45,25); JLabel look_feel = new JLabel(外观:,JLabel.RIGHT); panel.add(look_feel);look_feel.setBounds(290-38,10,38,25); panel.add(cross); cross.setBounds(290,10,38,25); panel.add(system); system.setBounds(325,10,32,25); panel.add(motif); motif.setBounds(355,10,38,25); panel.add(show_help); show_help.setBounds(400,10,65,25); show_help.setBorder(new EmptyBorder(0,0,0,0); show_help.setBackground(Color.getHSBColor(23,21,10); year_box.addActionListener(this); month_box.addActionListener(this); return panel; private JPanel initializtion_Week()/显示星期的panel JPanel panel = new JPanel(); panel.setLayout(new GridLayout(1,7); String columnNames=星期日,星期一,星期二,星期三, 星期四,星期五,星期六; JLabel label =null; for(int i=0;i7;i+) label = new JLabel(columnNamesi,JLabel.CENTER); if(i = 0 | i = 6) label.setForeground(Color.RED); label.setBorder(new LineBorder(Color.BLUE); panel.add(label); return panel; private JPanel initializtion_Calendar()/显示日期的panel JPanel panel = new JPanel(); panel.setLayout(new GridLayout(6,7); for( int i = 0 ; i 6 ; i+ ) for(int j = 0 ; j 7 ; j+ ) label=new JLabel(,JLabel.CENTER); datasij = label; label.setBorder(new LineBorder(Color.BLUE); if(j=0 | j=6) label.setForeground(Color.RED); datasij.addMouseListener(new List_MouseListener(); panel.add(label); return panel; public void clear_Data()/清空内容的 for(int i = 0 ; i 6 ; i+ ) for(int j = 0 ; j 7 ; j+ ) datasij.setText(); if(j=0 | j=6) datasij.setForeground(Color.RED); else datasij.setForeground(null); public void initializtion_Data(Calendar calendar)/初始化函数 /* 节日和纪念日格式:起始年(yyyy)+月(mm)+日(dd)0000表示起始年不明*/HashMap sFestival =new HashMap();/String sFestival_=sFestival.put(0101, 元旦);sFestival.put(0214,情人节);sFestival.put(0308,妇女节);sFestival.put(0312,植树节);sFestival.put(0401,愚人节);sFestival.put(0501,劳动节);sFestival.put(0504,青年节);sFestival.put(0601,儿童节);sFestival.put(0701,建党节);sFestival.put(0801,建军节);sFestival.put(0910,教师节);sFestival.put(1001,国庆节);sFestival.put(1031,万圣节);sFestival.put(1112,孙中山诞辰);sFestival.put(1225,圣诞节);sFestival.put(1226,毛泽东诞辰);/;/某月第几个星期几/起始年(4位)+月(2位)+第几个(1位)+星期几(1位)HashMap wFestival =new HashMap();/String wFestival=wFestival.put(0520,母亲节);wFestival.put(0630,父亲节);wFestival.put(1144,感恩节);/;/农历 99表示月最后一天HashMap lFestival =new HashMap();/String lFestival=lFestival.put(0101,春 节);lFestival.put(0102,大年初二);lFestival.put(0103,大年初三);lFestival.put(0115,元宵节);lFestival.put(0505,端午节);lFestival.put(0707,七 夕);lFestival.put(0815,中秋节);lFestival.put(0909,重阳节);lFestival.put(1208,腊八节);lFestival.put(1299,除 夕);/; / / this.calendar = calendar; today = calendar.get(Calendar.DAY_OF_MONTH); int month = calendar.get(Calendar.MONTH); int weekindexDay; int weekindexMonth; calendar.set(Calendar.DATE,1); while(calendar.get(Calendar.MONTH)=month) weekindexMonth=calendar.get(Calendar.WEEK_OF_MONTH)-1; weekindexDay=calendar.get(Calendar.DAY_OF_WEEK)-1; int day=calendar.get(Calendar.DAY_OF_MONTH); / String today_,month_; today_ =day 10? 0 + day: + day; month_ =month10? 0 +(month+1):+(month+1); Lunar lunar = new Lunar(calendar); String lunar_= lunar.toString(); / if( null != sFestival.get(month_+today_) lunar_=+sFestival.get(month_+today_); / String wFestival_=month_+(weekindexMonth)+(weekindexDay); if( null != wFestival.get(wFestival_) lunar_=+wFestival.get(wFestival_); System.out.println(wFestival_); if( null != lFestival.get(lunar.numeric_md() lunar_=+lFestival.get(lunar.numeric_md(); /计算除夕 Calendar temp_calendar = Calendar.getInstance(); temp_calendar.set(calendar.get(Calendar.YEAR),month,day+1); /temp_calendar.add(Calendar.DAY_OF_MONTH,1); Lunar temp_lunar = new Lunar(temp_calendar); String temp_str = temp_lunar.numeric_md(); if(temp_str.equals(0101) lunar_=+lFestival.get(1299); /计算除夕结束 / String day_str; if(day10) day_str=+today_; else day_str=+today_; day_str+=+lunar_; if(day=today) datasweekindexMonthweekindexDay.setForeground(Color.GREEN); datasweekindexMonthweekindexDay.setText(day_str); calendar.add(Calendar.DATE,1); public void actionPerformed(ActionEvent e)/日期和年份的选择更新 int year = Integer.parseInt(year_box.getSelectedItem().toString() ; int month= Integer.parseInt(month_box.getSelectedItem().toString()-1 ; calendar.set(year,month,today); clear_Data(); initializtion_Data(calendar); class LookAndFeel_Listener implements ActionListener/选择外观的样式 public void actionPerformed(ActionEvent ev) JRadioButton o = (JRadioButton)ev.getSource(); String str=o.getText(); if(c = str) try UIManager.setLookAndFeel(UIManager.getCrossPlatformLookAndFeelClassName(); catch(Exception e) e.printStackTrace(); else if(s = str) tryUIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName(); catch(Exception e) e.printStackTrace(); else if(m = str) tryUIManager.setLookAndFeel(com.sun.java.swing.plaf.motif.MotifLookAndFeel); catch(Exception e) e.printStackTrace(); SwingUtilities.updateComponentTreeUI(Simple_Calendar.this); class Statement_Listener implements ActionListener/显示声明信息 JDialog dialog=null; public void actionPerformed(ActionEvent ev) String statment = 阴历及节日程序 2008 beta1; statment +=免费软件(Free Software) 你可以无限传播与反编译.; statment +=该日历有三种外观样式,有从1900年至2049年间的所有阴历.; statment +=个人爱好开发 作者:朱春 Email:; statment +=Copyright 2008- All Rights Reserved; dialog=new JDialog(Simple_Calendar.this, 阴历及节日软件 2008 beta1,true); dialog.setLayout(null); dialog.setBounds(285,215,365,185); JLabel label_s = new JLabel(statment);/label_s.setBackground(Color.RED); JButton button=new JButton(确 定); button.addActionListener(new ActionListener() public void actionPerformed(ActionEvent evet) dialog.setVisible(false); ); dialog.add(label_s);label_s.setBounds(20,0,365,100); dialog.add(button); button.setBounds(145,110,65,25); dialog.setVisible(true); class List_MouseListener implements MouseListener/鼠标移入时显示的信息 JLabel labe=null; String weeks=星期日,星期一,星期二,星期三, 星期四,星期五,星期六; public String constellation(Calendar cal) String con = 水瓶座,0122,0221, 双鱼座,0222,0321, 白羊座,0322,0420, 金牛座,0421,0521, 双子座,0522,0621, 巨蟹座,0621,0721, 狮子座,0722,0821, 处女座,0822,0921, 天秤座,0922,1021, 天蝎座,1022,1121, 射手座,1122,1221, 摩羯座,1222,0121; int month=cal.get(Calendar.MONTH)+1; int today=cal.get(Calendar.DAY_OF_MONTH); String month_str=month10?0+month:+month; String today_str=today10?0+today:+today; String str=month_str+today_str; for( int i = 0 ; i = Integer.parseInt(coni1) & Integer.parseInt(str) = Integer.parseInt(con111) & Integer.parseInt(str) 1232) | Integer.parseInt(str) )+7,lab.indexOf(); /String lun=lab.substring(lab.indexOf()+4); String message = 公元 +year_box.getSelectedItem()+年+ month_box.getSelectedItem()+月+Integer.parseInt(day)+日; calendar.set(Integer.parseInt(year_box.getSelectedItem().toString(), Integer.parseInt(month_box.getSelectedItem().toString()-1, Integer.parseInt(day); Lunar lunar=new Lunar(calendar); message+=+weeks(calendar.get(calendar.DAY_OF_WEEK)-1); message+= +constellation(calendar)+农历 ; message+=lunar.get_month()+月+lunar.get_Big_Or_Small()+ +lunar.get_date()+日; /message+=lunar.get_JQ(); labe.setToolTipText(message); labe.setBackground(Color.BLUE); labe.setOpaque(true); / System.out.println(day+:+lun); public void mouseExited(MouseEvent e) / 鼠标离开组件时调用。 labe.setBackground(null); labe.setOpaque(true); public void mousePressed(MouseEvent e) / 鼠标按键在组件上按下时调用。 public void mouseReleased(MouseEvent e) / 鼠标按钮在组件上释放时调用。 / private JLabel datas=new JLabel67;/显示一月的日期 private JLabel temp_label=null; private JLabel label=null; private JPanel panel_Header,panel_Week,panel_Calendar; private Calendar calendar=null; private JComboBox year_box = null ; private JComboBox month_box = null ; private int today ; private JRadioButton cross=null,system=null,motif=null; private ButtonGroup feel_group=null; private JButton show_help =null; /* *以下是阴历对象; * 是从网络中得来的; */ class Lunar private int year; private int month; private int day; private boolean leap; final static String chineseNumber = 一,二,三,四,五,六,七,八,九,十,十一,十二; final static String Big_Or_Small = 大,小,大,小,大,小,大,大,小,大,小 ,大; private String LunarHolDayName = 小寒, 大寒, 立春, 雨水, 惊蛰, 春分, 清明, 谷雨, 立夏, 小满, 芒种, 夏至, 小暑, 大暑, 立秋, 处暑, 白露, 秋分, 寒露, 霜降, 立冬, 小雪, 大雪, 冬至; static SimpleDateFormat chineseDateFormat = new SimpleDateFormat( yyyy年MM月dd日 ); final static long lunarInfo = new long 0x04bd8 , 0x04ae0 , 0x0a570 , 0x054d5 , 0x0d260 , 0x0d950 , 0x16554 , 0x056a0 , 0x09ad0 , 0x055d2 , 0x04ae0 , 0x0a5b6 , 0x0a4d0 , 0x0d250 , 0x1d255 , 0x0b540 , 0x0d6a0 , 0x0ada2 , 0x095b0 , 0x14977 , 0x04970 , 0x0a4b0 , 0x0b4b5 , 0x06a50 , 0x06d40 , 0x1ab54 , 0x02b60 , 0x09570 , 0x052f2 , 0x04970 , 0x06566 , 0x0d4a0 , 0x0ea50 , 0x06e95 , 0x05ad0 , 0x02b60 , 0x186e3 , 0x092e0 , 0x1c8d7 , 0x0c950 , 0x0d4a0 , 0x1d8a6 , 0x0b550 , 0x056a0 , 0x1a5b4 , 0x025d0 , 0x092d0 , 0x0d2b2 , 0x0a950 , 0x0b557 , 0x06ca0 , 0x0b550 , 0x15355 , 0x04da0 , 0x0a5d0 , 0x14573 , 0x052d0 , 0x0a9a8 , 0x0e950 , 0x06aa0 , 0x0aea6 , 0x0ab50 , 0x04b60 , 0x0aae4 , 0x0a570 , 0x05260 , 0x0f263 , 0x0d950 , 0x05b57 , 0x056a0 , 0x096d0 , 0x04dd5 , 0x04ad0 , 0x0a4d0 , 0x0d4d4 , 0x0d250 , 0x0d558 , 0x0b540 , 0x0b5a0 , 0x195a6 , 0x095b0 , 0x049b0 , 0x0a974 , 0x0a4b0 , 0x0b27a , 0x06a50 , 0x06d40 , 0x0af46 , 0x0ab60 , 0x09570 , 0x04af5 , 0x04970 , 0x064b0 , 0x074a3 , 0x0ea50 , 0x06b58 , 0x055c0 , 0x0ab60 , 0x096d5 , 0x092e0 , 0x0c960 , 0x0d954 , 0x0d4a0 , 0x0da50 , 0x07552 , 0x056a0 , 0x0abb7 , 0x025d0 , 0x092d0 , 0x0cab5 , 0x0a950 , 0x0b4a0 , 0x0baa4 , 0x0ad50 , 0x055d9 , 0x04ba0 , 0x0a5b0 , 0x15176 , 0x052b0 , 0x0a930 , 0x07954 , 0x06aa0 , 0x0ad50 , 0x05b52 , 0x04b60 , 0x0a6e6 , 0x0a4e0 , 0x0d260 , 0x0ea65 , 0x0d530 , 0x05aa0 , 0x076a3 , 0x096d0 , 0x04bd7 , 0x04ad0 , 0x0a4d0 , 0x1d0b6 , 0x0d250 , 0x0d520 , 0x0dd45 , 0x0b5a0 , 0x056d0 , 0x055b2 , 0x049b0 , 0x0a577 , 0x0a4b0 , 0x0aa50 , 0x1b255 , 0x06d20 , 0x0ada0 ; / = 传回农历 y年的总天数 final private static int yearDays( int y) int i, s
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年内科护理学第九章题库及答案
- 精准定位导航技术企业制定与实施新质生产力项目商业计划书
- 腰部调理按摩创新创业项目商业计划书
- 绘图专用剪刀企业制定与实施新质生产力项目商业计划书
- 有机芥花籽油定制服务创新创业项目商业计划书
- 财务报表分析方法与实操案例讲解
- 人力资源招聘面试流程及评价标准
- 房屋维护及维修标准流程操作规范
- 2025《学前教育法》知识题库(附答案)
- 内蒙古网络干部考试题库及答案2025
- 2025年中国财税科技服务行业市场全景分析及前景机遇研判报告
- 涉密人员岗前知识培训课件
- 社会工作者考试题库及答案
- 电子元器件应用操作手册
- 纳瓦尔宝典解读
- 产品代理商协议合同范本
- 2025至2030年中国晋江市房地产行业市场深度评估及投资策略咨询报告
- 电商文案写作教学课件
- 思想政治教育与科学技术的融合创新
- 替代工艺管理办法
- 2025年临沂考辅警笔试题及答案
评论
0/150
提交评论