Java实现简单的日历界面
作者:one_silent_night 发布时间:2021-10-08 03:13:01
标签:java,日历界面
本文实例为大家分享了Java实现简单日历界面的具体代码,供大家参考,具体内容如下
请使用JFrame、JPanel、JButton、JLabel和不同的布局管理器,实现如下日历视图。
import java.awt.*;
import javax.swing.*;
public class Main {
public static void main(String[] args) {
JFrame frame = new JFrame("calendar");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//第一部分
FlowLayout flow = new FlowLayout(FlowLayout.CENTER);
flow.setHgap(20); //设置横向间距
//flow.setVgap(10); //设置纵向间距
JPanel paneln = new JPanel(flow);
JLabel l1 = new JLabel("2021年 7月");
JButton left1 = new JButton("<<");
JButton left2 = new JButton("<");
JButton right1 = new JButton(">");
JButton right2 = new JButton(">>");
paneln.add(left1);
paneln.add(left2);
paneln.add(l1);
paneln.add(right1);
paneln.add(right2);
frame.add(paneln, BorderLayout.NORTH);
//第一部分
//第二部分
JPanel week = new JPanel(new GridLayout(1,7)); //设置1行7列的格式
JLabel weeknum[] = new JLabel[7];
weeknum[0] = new JLabel("一",JLabel.CENTER);
weeknum[1] = new JLabel("二",JLabel.CENTER);
weeknum[2] = new JLabel("三",JLabel.CENTER);
weeknum[3] = new JLabel("四",JLabel.CENTER);
weeknum[4] = new JLabel("五",JLabel.CENTER);
weeknum[5] = new JLabel("六",JLabel.CENTER);
weeknum[6] = new JLabel("日",JLabel.CENTER);
weeknum[6].setPreferredSize(new Dimension(75,75)); //设置单元格大小
weeknum[6].setBorder(BorderFactory.createLineBorder(Color.gray)); //设置显示边框并设计为灰色
week.add(weeknum[6]);
for(int i=0;i<6;i++)
{
weeknum[i].setPreferredSize(new Dimension(75,75)); //设置单元格大小
weeknum[i].setBorder(BorderFactory.createLineBorder(Color.gray)); //设置显示边框并设计为灰色
week.add(weeknum[i]);
}
frame.add(week,BorderLayout.CENTER);
//第二部分
//第三部分
JPanel date = new JPanel(new GridLayout(5,7));
JButton datenum[] = new JButton[35];
int i;
Font font = new Font("宋体", Font.ITALIC,12); //设置个别数字字体
for(i=0;i<4;i++) {
String arr = ""+(i+27);
datenum[i] = new JButton(arr);
datenum[i].setFont(font); //实现字体设置
date.add(datenum[i]);
datenum[i].setPreferredSize(new Dimension(75,75)); //设置单元格大小
} //添加个别数字日期
for(i=0;i<31;i++) {
String arr = ""+(i+1);
datenum[i] = new JButton(arr);
date.add(datenum[i]);
datenum[i].setPreferredSize(new Dimension(75,75)); //设置单元格大小
} //添加正常数字日期
frame.add(date,BorderLayout.SOUTH);
//第三部分
frame.pack();
frame.setVisible(true);
}
}
运行结果
来源:https://blog.csdn.net/weixin_52160888/article/details/119714323


猜你喜欢
- 通常我们在看一些源码时,发现全是T、?,晕乎乎的:sob:。于是,把泛型掌握好十分重要!什么是泛型Java 泛型(generics)是 JD
- 真实的多线程业务开发中,最常用到的逻辑就是数据的读写,ReentrantLock虽然具有完全互斥排他的效果(即同一时间只有一个线程正在执行l
- 在线程间通信方式中,我们了解到可以使用Semaphore信号量来实现线程间通信,Semaphore支持公平锁和非公平锁,Semaphore底
- 简单看一下描述,例子最重要。1、getPath():返回定义时的路径,(就是你写什么路径,他就返回什么路径)2、getAbsolutePat
- 本文实例为大家分享了Android日历控件的使用方法,供大家参考,具体内容如下MainActivity.java代码:package sis
- Android 7.0系统在运行应用的时候,对权限做了诸多限制,normal, dangerous, signature, signatur
- Condition的作用是对锁进行更精确的控制。Condition中的await()方法相当于Object的wait()方法,Conditi
- 本文实例分析了Android中ListActivity用法。分享给大家供大家参考,具体如下:程序如下:import android.app.
- 本文实例总结了C#配置文件Section节点处理方法。分享给大家供大家参考。具体如下:很多时候在项目开发中,我们都需要用配置文件来存储一些关
- optString方法会在对应的key中的值不存在的时候返回一个空字符串,但是getString会抛一个JSONException 。 /*
- 今天一直在绞尽脑汁的寻找解决两个字符之间的内容如何输出的问题,刚开始就使用了万能的正则表达式;但是不知哪里的原因自己的数据一直出不来,觉得应
- 本实例为大家分享了Android实现短信验证码自动填写功能,供大家参考,具体内容如下实现思路很简单:1、在需要输入验证码的Activity代
- SpringBoot 集成 activiti 基础环境搭建添加依赖<dependency> <groupId&g
- 今天一个读者问我关于Android通过调用Webservice实现天气预报这篇文章的源码下载后出现的错误Could not find cla
- ProgressBar进度条当一个应用在后台执行时,前台界面不会有任何信息,这时,用户根本不知道程序是否在执行以及执行的进度等, 因此需要使
- 1.特殊数组的特征值题目描述思路详解看到本题,首先思考需要排序,然后查找,这里为了效率采用二分查找。假设定义x=(left+riht)/ 2
- 用于字符串替换,你还在用以下的这种方法吗?String.format(String format, Object... args)这是Str
- 由于Android课程项目需要,特地查阅了okHttp的使用,发现网上找的大多和自己的需求不一样。所以就着团队项目需要,自己简单封装了一个o
- 记得当初自己刚开始学习Java的时候,对Java的IO流这一块特别不明白,所以写了这篇随笔希望能对刚开始学习Java的人有所帮助,也方便以后
- IDEA maven没有dependenciesIDEA导入新项目没有dependencies跟plugins如图:解决办法网上方法很多,重