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);
}
}
运行结果
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
相关文章