当前位置: 首页 > 编程日记 > 正文

Java项目:日历万年历(java+swing)

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

功能简介:

万年历

启动类:

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()+"月" );   }   
}

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

相关文章:

求大神给解释一下H3C ospf 双塔奇兵

转载于:https://blog.51cto.com/2807200/1364566

活着是为了什么?

活着是为了死亡&#xff0c;死亡才是完美&#xff0c;才是永恒。 死亡时将一无所有&#xff0c;所以活着不是为了能带走什么&#xff0c;而应该是能留下什么&#xff0c;这才是人活着的意义&#xff0c;多少人能想明白呢&#xff1f; 胡建龙转载于:https://www.cnblogs.com/hjl…

XFS 文件系统 (一) :设计概览

文章目录0 前言1 设计背景2. 需要解决的问题2.1 异常恢复太慢2.2 不支持大文件系统2.3 不支持大型稀疏文件2.4 不支持大型连续文件2.5 不支持大目录2.6 不支持过多文件个数3 XFS 架构4 痛点解决4.1 Allocation Groups4.2 Manging Free Space4.3 大文件的支持5 总结0 前言 虽然…

WebApi2官网学习记录---异常处理

HttpResponseException 当WebAPI的控制器抛出一个未捕获的异常时&#xff0c;默认情况下&#xff0c;大多数异常被转为status code为500的http response即服务端错误。 HttpResonseException是一个特别的情况&#xff0c;这个异常可以返回任意指定的http status code&#xff0…

Java项目:资源下载工具(java+swing)

源码获取&#xff1a;博客首页 "资源" 里下载&#xff01; 功能简介&#xff1a; 下载地址、保存位置、下载设置、下载进度 文件仓库控制器&#xff1a; /*** ClassName: FileStoreController* Description: 文件仓库控制器**/ Controller public class FileStoreC…

江南Style之---西湖

西湖古称“钱塘湖”&#xff0c;又名“西子湖”&#xff0c;古代诗人苏轼就对它评价道&#xff1a;“欲把西湖比西子&#xff0c;淡妆浓抹总相宜。西湖&#xff0c;是一首诗&#xff0c;一幅天然图画&#xff0c;一个美丽动人的故事&#xff0c;不论是多年居住在这里的人还是匆…

mimikatz

下载后&#xff0c;在目标机直接运行 常用命令&#xff1a; 提升权限&#xff1a;privilege::debug 获取用户登录明文账号密码&#xff1a;sekurlsa::logonPasswords 获取用户密码hash值&#xff1a;lsadump::sam 转载于:https://www.cnblogs.com/xiaoqiyue/p/10824169.html

通过 RDTSC 指令从 CPU 寄存器中直接获取系统时钟

很多时候我们使用函数 gettimeofday 以及 clock_gettime 作为我们获取 wall lock的时钟函数。 因为这两种函数是 glibc 提供的用户封装&#xff0c;简单易用&#xff0c;而且能够精确到 ns&#xff0c;对于大多数的时钟需求场景都已经够用了。 但是如果 我们的应用 调用时钟频…

Java项目:星际争霸游戏(java+swing+awt界面编程+IO输入输出流+socket+udp网络通信)

源码获取&#xff1a;博客首页 "资源" 里下载&#xff01; 功能简介&#xff1a; 星际争霸游戏项目&#xff0c;该项目实现了单人模式和多人合作模式&#xff0c;可记录游戏进度&#xff0c;新建游戏&#xff0c;载入历史记录等功能&#xff0c;多人模式下可以创建一…

GTONE清理维护建议方案

1、日志清理/home/gtone/AppGov/analyzer/log//home/gtone/AppGov/analyzer/SRC/temp//home/gtone/AppGov/WAS/logs/ 2、扩容现有磁盘空间至200GB转载于:https://www.cnblogs.com/arcer/p/4461018.html

[C#]委托和事件(讲解的非常不错)

引言 委托 和 事件在 .Net Framework中的应用非常广泛&#xff0c;然而&#xff0c;较好地理解委托和事件对很多接触C#时间不长的人来说并不容易。它们就像是一道槛儿&#xff0c;过了这个槛的人&#xff0c;觉得真是太容易了&#xff0c;而没有过去的人每次见到委托和事件就觉…

BZOJ1460: Pku2114 Boatherds

题目链接&#xff1a;点这里 题目描述&#xff1a;给你一棵n个点的带权有根树&#xff0c;有p个询问&#xff0c;每次询问树中是否存在一条长度为Len的路径&#xff0c;如果是&#xff0c;输出Yes否输出No. 数据范围&#xff1a;\(n\le1e5\,,p\le100\,,长度\le1e5\) Solution: …

centos 自定义内核模块 编译运行

简单记录一下 centos 自定义内核模块的一些编译运行记录&#xff0c;代码如下&#xff1a; 主要功能是通过rdtsc 指令直接从 CPU MSR 寄存器中获取时钟&#xff0c;尝试获取两次&#xff0c;两次之间会做一些赋值操作什么的&#xff0c;并记录一下时差。 #include <linux/…

os.system() 和 os.popen()

1.os.popen(command[, mode[, bufsize]]) os.system(command)2.os.popen() 功能强于os.system() , os.popen() 可以返回回显的内容&#xff0c;以文件描述符返回。eg:t_f os.popen ("ping 192.168.1.1")print t_f.read()或者:for line in os.popen("dir"…

Java项目:医院管理系统(java+Springboot+Maven+Mybatis+Vue+Mysql)

源码获取&#xff1a;博客首页 "资源" 里下载&#xff01; 一、项目简述本系统功能包括&#xff1a;医院挂号&#xff0c;退号&#xff0c;缴费&#xff0c;退费&#xff0c;检查申请单开立&#xff0c;科室管理&#xff0c;医生开单&#xff0c;挂号级别&#xff0c…

任意阶幻方..

1 /*coder Gxjun*/2 #include<stdio.h>3 #include<string.h>4 #include<stdlib.h>5 #define maxn 1006 int map[maxn][maxn] ;7 void creat_magic(int n,int x,int y ,int sn) //奇阶幻方构造8 {9 int i,j,k;10 i0;11 jn/2;12 for(kn;k<…

UML与软件建模 第三次作业

1.单元测试的任务有哪些&#xff1f; 单元测试是对软件基本组成单元进行的测试,而且软件单元是与程序的其他部分相隔离的情况下进行独立的测试. 任务主要包括对单元功能、逻辑控制、数据和安全性等各方面进行必要的测试。具体地说&#xff0c;包括单元中所有独立执行路径、数据…

Pliops XDP(Extreme Data Processor)数据库存储设计的新型加速硬件

文章目录0 前言1 核心问题1.1 引擎的各方面性能受限于数据结构的选择1.2 压缩功能 导致的CPU瓶颈1.3 Crash-safe 崩溃异常的无奈选择1.4 当前主流 加速硬件 较难满足存储性能提升的要求2 XDP 设计原则2.1 数据结构上的优化2.2 解决 压缩引入的CPU消耗2.3 异常恢复的设计2.4 易于…

Java项目:潜艇大战项目(java+swing)

源码获取&#xff1a;博客首页 "资源" 里下载&#xff01; 功能简介&#xff1a; Java swing实现的一款小游戏潜艇大战的项目源码 游戏界面&#xff1a; SuppressWarnings({ "unused", "serial" }) public class GameGUI extends JPanel {//卡…

可以发张图片做链接用吗

转载于:https://www.cnblogs.com/wasss/p/4466492.html

更改显示器的分辨率

1.桌面右击&#xff0c;如图1-1所示。2.点击屏幕分辩率&#xff0c;选择分辨率调大小&#xff0c;确定&#xff0c;如图1-2所示。转载于:https://blog.51cto.com/qikai/1367734

Java 处理0x00特殊字符

Java 处理0x00特殊字符 一、0x00字符 1&#xff0c;0x00是ascii码的0值&#xff1a;NUL 2&#xff0c;0x00在windows系统中显示&#xff1a; 3&#xff0c;0x00在Linux中显示&#xff1a; ctrlV ctrl可以打出此字符 二、Java解决0x00字符 str.replaceAll("\\u0000",&…

关于 并查集(union find) 算法基本原理 以及 其 在分布式图场景的应用

二月的最后一篇水文…想写一些有意思的东西。 文章目录环检测在图数据结构中的应用深度/广度优先 检测环并查集数据结构 (Union-Find)基本概念初始化合并 union查找祖先优化1: 合并过程 利用 rank 优化路径优化2: 路径压缩(Path Compression)并查集 解决图中检测环问题环检测在…

Java项目:智能制造生产管理平台(java+SSM+mysql+Maven+Easyui+JSP)

源码获取&#xff1a;博客首页 "资源" 里下载&#xff01; 运行环境&#xff1a;jdk1.8、tomcat7.0/8.5、Mysql5.7/5.1、Maven3.6/3.5、 eclipse/STS 功能简介&#xff1a;计划进度、设备管理、工艺监控、物料监控、质量监控、人员监控等 访问注册控制层&#xff1a;…

JAVA-Eclipse快捷键

Ctrl1&#xff1a;快速修复。CtrlD:快速删除行。ShiftEnter&#xff1a;快速调到下一行。CtrlF11:快速运行。Alt上下方向键&#xff1a;快速移动。CtrlM:光标所在视图最大化。Alt/:智能补全。Ctrl/&#xff1a;快速注释代码。 转载于:https://www.cnblogs.com/bluewhy/p/44669…

Android RelativeLayout属性

// 相对于给定ID控件android:layout_above 将该控件的底部置于给定ID的控件之上;android:layout_below 将该控件的底部置于给定ID的控件之下;android:layout_toLeftOf 将该控件的右边缘与给定ID的控件左边缘对齐;android:layout_toRightOf 将该控件的左边缘与给定ID的控件右边缘…

详解Azure的权限控制

注意&#xff1a;本文档仅限于Azure国际版&#xff0c;国内版略有不同Azure中的角色分配相对来说是比较复杂的的&#xff0c;对于任何云组织来说&#xff0c;云的资源访问管理权限都是一项非常重要的功能&#xff0c;azure中的授权系统叫做基于角色的访问控制&#xff08;RBAC&…

SNMP introduction

简单网络管理协议(SNMP)首先是由Internet工程任务组织(Internet Engineering Task Force)(IETF)的研究小组为了解决Internet上的路由器管理问题而提出的。许多人认为 SNMP在IP上运行的原因是Internet运行的是TCP/IP协议&#xff0c;然而事实并不是这样。 SNMP被设计成与协议无…

Java项目:在线考试系统(java+SSM+mysql+JSP)

源码获取&#xff1a;博客首页 "资源" 里下载&#xff01; 运行环境&#xff1a;jdk1.8、Mysql5.7、Tomcat8.5、IDEA/Eclipse 功能简介&#xff1a;在线考试、历史回顾、个人成绩查询等。 管理员和教师功能有&#xff1a;学院管理、班级管理、课程管理、教师、学生…

Keil中使用宏编译来定义DEBUG输出

使用宏编译来格式化调试信息&#xff0c;是一个不错的方法&#xff0c;即可以在需要的时候打印出信息&#xff0c;还可以格式化我们所需要的输出。 #define DEBUG 1 #if (DEBUG 1) #define DBG(Args...) printf(##Args) #define DBGFL(s, Args...) printf("[%s:%d]&qu…