【Java】用 Java 的 Swing 组件做一个万年历程序

这篇博客展示了如何利用Java的Swing组件构建一个万年历程序。内容包括设计要求,实现步骤以及详细的程序源代码。程序创建了一个BorderLayout布局的窗体,中央是一个7x7的GridLayout用于展示日期,窗口的北面和南面分别有控制月份的按钮和信息显示标签。
摘要由CSDN通过智能技术生成


话不多说,先上图

一、测试截图:


在这里插入图片描述
在这里插入图片描述

二、设计要求:
  • 设计一个窗体,该窗体为BorderLayout布局。
  • 窗体的中心添加一个Panel容器:Panel容器的布局是7行7列的GridLayout布局,Panel容器中放置49个标签,用来显示日历
  • 窗口的北面添加一个Panel容器,其布局是FlowLayout布局,Panel容器中放置两个按钮:nextMonth和previousMonth
  • 窗口的南面添加一个Panel容器,其布局是FlowLayout,Panel容器中放置一个标签用来显示一些信息
三、实现步骤:
  • 在构造方法中写出界面,并设置按钮监听
  • 在监听方法中分别覆写对三个按钮的响应
  • 定义获取时间信息的方法。该方法可以将给定格式的时间字符串转换成时间,并且获得该时间所对应的各项具体信息
  • 按照日历格式在屏幕上输出时间信息
四、程序源代码:
package priv.lxm.homework.report05;

import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;

public class MyCalendar extends JFrame implements ActionListener {
   

    private JTextField text;
    JPanel head=new JPanel();//北部容器
    JPanel body=new JPanel();//中部容器
    JPanel foot=new JPanel();//南部容器
    Calendar calendar=Calendar.getInstance();
    int dayNow=calendar.get(Calendar.DATE);
    int monthNow=calendar.get(Calendar.MONTH)+1;
    int yearNow=calendar.get(Calendar.YEAR);
    int year = calendar.get(Calendar.YEAR);//获取当前查询年份,默认为当前年份
    int month = calendar.get(Calendar.MONTH) + 1;//获取当前查询月份,默认为当前月份

    private MyCalendar(){
   //构造方法
        //主要参数设置
        setTitle("【CSDN博客:向远方啊】日历");
        setSize(500,400);
        setLocationRelativeTo(null);//窗体居中
        setResizable(false);//关闭窗体大小可调
        setDefaultCloseOperation(EXIT_ON_CLOSE);

        //界面布局
        //北部容器
        head.setBackground(new Color(245,222,179));
        head.setLayout(new FlowLayout());
        JButton searchJButton=new JButton("查询");
        searchJButton.setFont(new Font("SimHei",Font.BOLD,15));
        searchJButton.setForeground(new 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值