源码获取:博客首页 "资源" 里下载!

功能简介:

万年历

启动类:

public class CalendarMainClass
{   public static void main(String args[])   {   try {  UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel"); //windows界面风格  }catch (Exception e) {  e.printStackTrace();  }  CalendarFrame frame=new CalendarFrame();   frame.setBounds(100,100,360,300);   frame.setTitle("日历小程序");  frame.setLocationRelativeTo(null);//窗体居中显示  frame.setVisible(true);   frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  }
} 

实体类:

public class CalendarBean
{   String day[];   int year=2005,month=0;          public void setYear(int year)   {   this.year=year;   }   public int getYear()   {   return year;   }   public void setMonth(int month)   {   this.month=month;   }   public int getMonth()   {   return month;   }   public String[] getCalendar()   {   String a[]=new String[42];   Calendar date=Calendar.getInstance();   date.set(year,month-1,1);   int week=date.get(Calendar.DAY_OF_WEEK)-1;   int day=0;   //判断大月份  if(month==1||month==3||month==5||month==7 ||month==8||month==10||month==12)   {   day=31;   }   //判断小月  if(month==4||month==6||month==9||month==11)   {   day=30;   }   //判断平年与闰年  if(month==2)   {   if(((year%4==0)&&(year%100!=0))||(year%400==0))   {   day=29;   }   else   {   day=28;   }   }   for(int i=week,n=1;i<week+day;i++)   {   a[i]=String.valueOf(n) ;   n++;   }              return a;   }
}

日历显示类:

public class CalendarFrame extends JFrame implements ActionListener
{   JLabel labelDay[]=new JLabel[42];   JTextField  text=new JTextField(10);  JButton titleName[]=new JButton[7];   JButton button = new JButton();  String name[]={"日","一","二","三", "四","五","六"};   JButton nextMonth,previousMonth;   int year=2018,month=1; //启动程序显示的日期信息  CalendarBean calendar;   JLabel showMessage=new JLabel("",JLabel.CENTER);   JLabel lbl1 = new JLabel("请输入年份:");  JLabel lbl2=new JLabel("      ");  public CalendarFrame()   {setBackground(new Color(0, 128, 128));   JPanel pCenter=new JPanel();   pCenter.setBackground(new Color(0, 139, 139));//将pCenter的布局设置为7行7列的GridLayout 布局。   pCenter.setLayout(new GridLayout(7,7));    //pCenter添加组件titleName[i]  for(int i=0;i<7;i++)   {   titleName[i]=new JButton(name[i]);   pCenter.add(titleName[i]);   }   //pCenter添加组件labelDay[i]  for(int i=0;i<42;i++)   {   labelDay[i]=new JLabel("",JLabel.CENTER);   pCenter.add(labelDay[i]);  }   text.addActionListener(this);  calendar=new CalendarBean();   calendar.setYear(year);   calendar.setMonth(month);   String day[]=calendar.getCalendar();   for(int i=0;i<42;i++)   {   labelDay[i].setText(day[i]);   }   nextMonth=new JButton("下月");   previousMonth=new JButton("上月");   button=new JButton("确定");  //注册监听器  nextMonth.addActionListener(this);   previousMonth.addActionListener(this);   button.addActionListener(this);  JPanel pNorth=new JPanel(),  pSouth=new JPanel();   pNorth.add(showMessage);    pNorth.add(lbl2);    pNorth.add(previousMonth);   pNorth.add(nextMonth);   pSouth.add(lbl1);          pSouth.add(text);  pSouth.add(button);  showMessage.setText("日历:"+calendar.getYear()+"年"+ calendar.getMonth()+"月" );  ScrollPane scrollPane=new ScrollPane();   scrollPane.add(pCenter);   getContentPane().add(scrollPane,BorderLayout.CENTER);// 窗口添加scrollPane在中心区域   getContentPane().add(pNorth,BorderLayout.NORTH);// 窗口添加pNorth 在北面区域   getContentPane().add(pSouth,BorderLayout.SOUTH);// 窗口添加pSouth 在南区域。  }   public void actionPerformed(ActionEvent e)   {   if(e.getSource()==nextMonth)   {   month=month+1;   if(month>12)   month=1;   calendar.setMonth(month);   String day[]=calendar.getCalendar();   for(int i=0;i<42;i++)   {  labelDay[i].setText(day[i]);   }   }   else if(e.getSource()==previousMonth)   {   month=month-1;                if(month<1)   month=12;   calendar.setMonth(month);   String day[]=calendar.getCalendar();   for(int i=0;i<42;i++)   {   labelDay[i].setText(day[i]);   }   }   else if(e.getSource()==button)  {  month=month+1;                if(month>12)                  month=1;                calendar.setYear(Integer.parseInt(text.getText()));               String day[]=calendar.getCalendar();                  for(int i=0;i<42;i++)  {  labelDay[i].setText(day[i]);  }  }  showMessage.setText("日历:"+calendar.getYear()+"年"+calendar.getMonth()+"月" );   }
}

源码获取:博客首页 "资源" 里下载!

Java项目:日历万年历(java+swing)相关推荐

  1. 为什么我会在2012年的新企业Java项目中使用Java EE而不是Spring

    这个问题经常出现. 我的新项目也在2011年11月发布. 在这个新的Enterprise Java项目中,我将使用Java EE(JEE)代替Spring框架. 我知道:关于此主题的文章,博客和论坛讨 ...

  2. idea 新建的java项目没发run_IntelliJ IDEA创建普通的Java 项目及创建 Java 文件并运行的教程...

    最近突然看到这篇几年前随手记录的文章,居然浏览量那么高.看来很多小伙伴也开始从 Eclipse 转到 IDEA,这里为了让大家更好的掌握 IDEA 的使用,我建议大家可以看看下面这个 IDEA 教程. ...

  3. Eclipse中Java项目转化为Java Web项目

    公司的项目  好久没有在本机电脑上运行了.突然发现Tomcate服务器加载不了项目了.仔细一看这个项目变成了JAVA项目 不再是Java  web项目了 没有任何报错.参考文档:https://www ...

  4. 【Java】IDEA编译Java项目报错 java: 找不到符号 的解决方法

    IDEA编译Java项目报错java: 找不到符号,情况如下所示: 解决方法: 先删除out文件夹,然后选择File → Invalidate Caches → Invalidate and Rest ...

  5. java循环制作万年历,java使用Calendar制作万年历

    package Date; import java.util.Calendar; import java.util.Scanner; public class MyDate { public stat ...

  6. 用gradle启动java项目_构建Java项目

    #构建Java项目# 上一节我们简要介绍了如何编写一个单机的To Do应用,接下来要打包部署成可执行的应用,我们需要编译源代码,生成的class文件需要打包到JAR文件中.JDK提供了javac 和j ...

  7. gradle打包java项目_gradle打包java项目

    转载地址:http://www.gfzj.us/series/gradle/2014/12/12/gradle%E5%B0%8F%E7%B3%BB%E5%88%97(4)--gradle%E6%89% ...

  8. Java项目转变为Java Web项目

    1.找到项目工作空间目录,打开.project文件,并修改文件,  修改如下:       找到:<natures> </natures>代码段,在代码段中加入如下内容并保存: ...

  9. Java项目:养老院管理系统(java+Spring Boot + SpringMVC + MyBatis+HTML+CSS+JavaScrip+ Layui+maven+mysql)

    源码获取:博客首页 "资源" 里下载! 关注公众号,带你学Java 项目介绍 : Spring Boot + SpringMVC + MyBatis+ Mysql + druid ...

最新文章

  1. Nginx 简单的cpu配置
  2. mysql安装后无法启动和连接问题
  3. jvm--3.内存管理
  4. webresource_Jersey WebResource –标头不附加
  5. redis memcache 性能比较
  6. git 创建邮箱 用户名_厉害了!IDEA中如何使用Git进行项目管理,完整教程来了?...
  7. MySQL笔记-InnoDB物理及逻辑存储结构
  8. ssdp安全-攻击和防御
  9. is_file() 和 is_dir()注意事项
  10. 南阳oj-----一种排序(set)
  11. python调用windows aplication
  12. Hackintosh黑苹果i7-8700+华硕B360MTUFGAME_S+RX5700最终版EFI
  13. EXEL表格读取 按键精灵
  14. 锋利的jQuery读书笔记-第1章 认识jQuery
  15. css实现六边形图片(最简单易懂方法实现高逼格图片展示)
  16. 学校的计算机是作文,我在学校作文
  17. 新媒体运营教程:教你如何写推广策划案?
  18. 田野调查手记·浮山摩崖石刻(五)
  19. 基于Autoware制作高精地图(一)
  20. 山药玉米排骨汤:非常美味,也营养健康

热门文章

  1. 游戏风格化角色创建入门指南视频教程
  2. SUST_ACM_2019届暑期ACM集训热身赛题解
  3. centos安装pg以及pg配置ssl
  4. iOS开发UI篇—多控制器和导航控制器简单介绍
  5. Python学习心得第一周-03练习2
  6. 【php增删改查实例】第十七节 - 用户登录(1)
  7. 四川第七届 I Travel(bfs)
  8. C# webform上传图片并生成缩略图
  9. 每天一个linux命令(10):cat 命令
  10. Python学习(一) 安装,环境搭建,IDE