iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >java如何实现日历应用程序设计
  • 762
分享到

java如何实现日历应用程序设计

2023-07-02 09:07:06 762人浏览 安东尼
摘要

这篇“java如何实现日历应用程序设计”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“java如何实现日历应用程序设计”文章吧

这篇“java如何实现日历应用程序设计”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“java如何实现日历应用程序设计”文章吧。

1、效果和要求

java如何实现日历应用程序设计

*在文本框inputYear中输入年份,验证年份的有效性;按回车键后,显示输入年份的正确日历
* 单击previousMonth按钮可以显示当前月的上一月的日历;如果月份小于1,则显示上一年的12月
* 单击nextMonth按钮,可以显示当前月的下一月的日历;如果月份大于1,则显示下一年的1月

2、源码

CalendarBean.java

import java.util.Calendar;public class CalendarBean {    String day[];    int year = 2013, 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;    }    //返回某年某月1号开始的日期数组    public String[] getDays() {        String a[] = new String[42];        Calendar 日历 = Calendar.getInstance();        //注意:1月份是从0开始,所以要减1        日历.set(year, month - 1, 1);        int 星期几 = 日历.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 = 星期几, n = 1; i < 星期几 + day; i++) {            a[i] = String.valueOf(n);            n++;        }        return a;    }}

CalendarFrame.java

import javax.swing.*;import java.awt.*;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;public class CalendarFrame extends JFrame{    JLabel labelDay[] = new JLabel[42];    JLabel labelYear;    JButton titleName[] = new JButton[7];    JButton nextMonth, previousMonth;    JLabel showMessage;    JTextField inputYear;    CalendarBean calendar;    String name[] = { "日", "一", "二", "三", "四", "五", "六" };    int year = 2013, month = 1;    String days[];    public CalendarFrame() {        super("日历应用程序");        calendar = new CalendarBean();        calendar.setYear(year);        calendar.setMonth(month);        days = calendar.getDays();        // 窗口添加scrollPane在中心区        add(getCenterPanel(),BorderLayout.CENTER);        // 窗口添加pNorth 在北面区域        add(getNorthPanel(),BorderLayout.NORTH);        // 窗口添加pSouth 在南区域。        add(getSouthPanel(),BorderLayout.SOUTH);    }    private JPanel getNorthPanel() {        JPanel panel = new JPanel();        labelYear = new JLabel("请输入年份:");        inputYear = new JTextField(10);        previousMonth = new JButton("上月");        nextMonth = new JButton("下月");                inputYear.addActionListener(new ActionListener() {            @Override            public void actionPerfORMed(ActionEvent e) {                try{                    year = Integer.parseInt(inputYear.getText());                }catch (NumberFormatException el){                    JOptionPane.showMessageDialog(null,"请输入正确年份!");                }                calendar.setYear(year);                UpdateUI();            }        });        previousMonth.addActionListener(new ActionListener() {//上个月            @Override            public void actionPerformed(ActionEvent e) {                month--;//获取上个月的时间                //System.out.println("Hello World");                if(month<=0){//跳到上一年                    year--;                    month = 12;                }                UpdateUI();;            }        });        nextMonth.addActionListener(new ActionListener() {//下个月            @Override            public void actionPerformed(ActionEvent e) {                month++;                if(month>12){//到达下一年                    year++;                    month=1;                }                UpdateUI();;            }        });        panel.add(labelYear,new FlowLayout());        panel.add(inputYear,new FlowLayout());        panel.add(previousMonth,new FlowLayout());        panel.add(nextMonth,new FlowLayout());        return panel;    }    private JPanel getCenterPanel() {        JPanel panel = new JPanel();        // 将panel的布局设置为7行7列的GridLayout布局        panel.setLayout(new GridLayout(7,7));        for (int i = 0; i < 7; i++) {            titleName[i] = new JButton(name[i]);            // panel添加组件titleName[i]            panel.add(titleName[i]);        }        for (int i = 0; i < 42; i++) {            labelDay[i] = new JLabel(days[i], JLabel.CENTER);            // panel添加组件labelDay[i]            panel.add(labelDay[i]);        }        return panel;    }    private JPanel getSouthPanel() {        JPanel panel = new JPanel();        showMessage = new JLabel("日历: " + year + "年" + month + "月");        panel.add(showMessage);        return panel;    }    //添加的方法    private void UpdateUI(){        calendar.setYear(year);        calendar.setMonth(month);        days = calendar.getDays();        for (int i = 0; i < 42; i++) {            labelDay[i].setText(days[i]);        }        showMessage.setText("日历:"+calendar.getYear()+"年"+calendar.getMonth()+"月");    }}

CalendarMainClass.java

import javax.swing.*;public class CalendarMainClass {    public static void main(String args[]) {        CalendarFrame frame = new CalendarFrame();        frame.setBounds(100, 100, 360, 320);        frame.setVisible(true);         frame.validate();        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);    }}

以上就是关于“java如何实现日历应用程序设计”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注编程网精选频道。

--结束END--

本文标题: java如何实现日历应用程序设计

本文链接: https://www.lsjlt.com/news/340747.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • java如何实现日历应用程序设计
    这篇“java如何实现日历应用程序设计”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“java如何实现日历应用程序设计”文章吧...
    99+
    2023-07-02
  • java实现日历应用程序设计
    本文实例为大家分享了java实现日历应用程序设计的具体代码,供大家参考,具体内容如下 1、效果和要求 *在文本框inputYear中输入年份,验证年份的有效性;按回车键后,显示输入...
    99+
    2022-11-13
  • Java利用LocalDate类实现日历设计
    目录前言语法日历实战步骤分解完整代码结论LocalDate API前言 在我们完成这个日历设计前,需要了解Java中的预定义类LocalDate的一些用法 语法 LocalDate....
    99+
    2022-11-13
  • java如何实现日历窗口小程序
    今天小编给大家分享一下java如何实现日历窗口小程序的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。标签:java基础功能:按...
    99+
    2023-07-02
  • java实现日历窗口小程序
    本文实例为大家分享了java实现日历窗口小程序的具体代码,供大家参考,具体内容如下 标签:java基础 功能: 1.按月翻页。 2.输入月份年份,直接跳转。 效果图: //Cal...
    99+
    2022-11-13
  • Java如何实现窗体程序显示日历
    今天小编给大家分享一下Java如何实现窗体程序显示日历的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。实训要求:代码:Test...
    99+
    2023-07-02
  • Java如何实现窗体程序显示日历表
    这篇文章主要讲解了“Java如何实现窗体程序显示日历表”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Java如何实现窗体程序显示日历表”吧!实训要求:简单实现日历功能,能查看前月后月的日历功...
    99+
    2023-07-02
  • Java实现窗体程序显示日历
    本文实例为大家分享了Java实现窗体程序显示日历的具体代码,供大家参考,具体内容如下 实训要求: 1.使用BorderLayout 进行总体布局 2.在North 位置放置包含两个按...
    99+
    2022-11-13
  • Java实现窗体程序显示日历表
     本文实例为大家分享了Java实现窗体程序显示日历表的具体代码,供大家参考,具体内容如下 实训要求: 1.简单实现日历功能,能查看前月后月的日历功能。2.使用JTable ...
    99+
    2022-11-13
  • Java编写实现窗体程序显示日历
    本文实例为大家分享了Java实现窗体程序显示日历的具体代码,供大家参考,具体内容如下 实训要求: 代码: Test类: import java.awt.*;   import ja...
    99+
    2022-11-13
  • Java如何实现桌面日历
    本篇内容介绍了“Java如何实现桌面日历”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!问题描述:编写一个程序,有一个窗口,该窗口为Borde...
    99+
    2023-07-02
  • 如何在shell中使用AWK实现一个日历小程序
    如何在shell中使用AWK实现一个日历小程序?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。代码段:function whichWeek(y, m,&nbs...
    99+
    2023-06-09
  • Java如何实现简单的日历界面
    本文小编为大家详细介绍“Java如何实现简单的日历界面”,内容详细,步骤清晰,细节处理妥当,希望这篇“Java如何实现简单的日历界面”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。请使用JFrame、JPanel、...
    99+
    2023-07-02
  • 如何用js实现日历功能
    这篇文章主要讲解了“如何用js实现日历功能”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何用js实现日历功能”吧! 示例代码...
    99+
    2022-10-19
  • 计算机中批处理如何实现万年日历
    这篇文章主要介绍了计算机中批处理如何实现万年日历,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。核心源码:: 月历查询工具 最初发表于CN-DOS::&nb...
    99+
    2023-06-08
  • 异步编程如何帮助Java应用程序实现更好的日志记录?
    异步编程是一种在Java应用程序中实现更好日志记录的方法。在传统的同步编程中,日志记录会阻塞主线程,导致应用程序的性能下降。异步编程通过将日志记录操作放入独立的线程中,可以避免这个问题,并且提高应用程序的性能和稳定性。 在Java中,实现异...
    99+
    2023-08-17
    日志 unix 异步编程
  • 如何在Java应用程序中实现快速响应和高效的日志记录?
    在Java应用程序中实现快速响应和高效的日志记录是非常重要的。日志记录可以帮助我们了解应用程序的运行情况,以及对问题进行调试和排除故障。本文将介绍一些实现快速响应和高效的日志记录的最佳实践。 使用异步日志记录 在Java应用程序中,通常...
    99+
    2023-09-02
    缓存 日志 响应
  • 使用PyQt5设计GUI实现程序图形界面设计
    目录一、熟悉designer——设计界面的神器1.首先打开designer。2.创建窗口3.熟悉各部功能区域二、设计自己的第一个GUI。1.在designer中拖动控件来完善窗口程序...
    99+
    2022-11-12
  • Java应用程序日志记录的最佳实践
    Java应用程序日志记录的最佳实践 在Java应用程序的开发过程中,日志记录是非常重要的。通过日志记录,我们可以轻松地跟踪应用程序的运行状况,并找出可能存在的问题。本文将介绍Java应用程序日志记录的最佳实践,以及如何在Java应用程序中实...
    99+
    2023-09-04
    日志 javascript django
  • 如何在Java IDE中实现NPM响应式设计?
    在当今的Web开发中,响应式设计已经成为了一个越来越重要的话题。作为一名Java开发者,你可能会想知道如何在Java IDE中实现NPM响应式设计。在本文中,我们将介绍如何使用Java IDE实现NPM响应式设计,并提供一些示例代码以帮助您...
    99+
    2023-09-29
    ide npm 响应
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作