java-日历记事本
功能还不完善,能毕业就行.jpg
package com.company;
import java.awt.BorderLayout;
import java.awt.CardLayout;
import java.awt.Color;
import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.Font;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.io.File;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.FileWriter;
import java.text.SimpleDateFormat;
import java.util.*;
import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JComboBox;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JTextArea;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableRowSorter;
public class CalenderNoteFrame extends JFrame implements ActionListener{
/**
*
*/
private static final long serialVersionUID = -3508766902815579755L;
private JFrame jf;
private Container c;
private JButton downYear,upYear,downMonth,upMonth,thisdayButton,notelistButoon,saveButton,deleteButton;
private JComboBox yearbox,monthbox;
private JButton[] weekButton=new JButton[7];//星期数组
private JButton[] daysButton=new JButton[42];//每月天数数组
private String years[]={"2020","2021","2022","2023","2024","2025","2026"};;
private String months[]={"1","2","3","4","5","6","7","8","9","10","11","12"};
private JPanel leftpanel,rightpanel;
private JPanel leftCenter,cardpanel;
private String year,month;//记录年份和月份
private int recordYear,recordMonth,listCount=0,cancel=1;//记录年份框/月份框当前选项的下标,listCount记录一共有多少条记事
private boolean flag=false;//flag判断面板是否切换过,cancel让表格不会因为每次点击按钮就重复增加行数
private JLabel timeLabel,dateLabel;
private JTextArea noteTextArea;//记事文本域
private DefaultTableModel model;
private JTable table;
private CardLayout card;
private SimpleDateFormat currentDate = new SimpleDateFormat("yyyy年MM月dd日");//获得当前的日期
public CalenderNoteFrame(){
jf=new JFrame("日历记事本");
c=jf.getContentPane();
c.setLayout(new BorderLayout());
jf.setSize(1170, 700);
jf.setVisible(true);
jf.setResizable(false);
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
/**
* 制作出日历表
*/
leftpanel=new JPanel(new BorderLayout());
leftCenter=new JPanel();
leftCenter.setLayout(new GridLayout(7, 7));
/**
* 添加星期按钮数组和天数按钮数组
*/
String[] week={"星期日","星期一","星期二","星期三","星期四","星期五","星期六"};
Font font=new Font("宋体",Font.BOLD, 15);
for(int i=0;i<week.length;i++){
weekButton[i]=new JButton(week[i]);
weekButton[i].setFont(font);
weekButton[i].setEnabled(false);
leftCenter.add(weekButton[i]);
}
for( int i=0;i<42;i++){
daysButton[i]=new JButton("");
leftCenter.add(daysButton[i]);
}
/**
* 制作记事表格
*/
String[] col={"ID","日期","记事"};
model=new DefaultTableModel(col, 0);
table=new JTable(model);
table.setRowSorter(new TableRowSorter<>(model));
JScrollPane js=new JScrollPane(table);
/**
* 使用卡片布局,使得不同面板可以进行来回切换
*/
card=new CardLayout();
cardpanel=new JPanel(card);
cardpanel.add(leftCenter,"left");
cardpanel.add(js,"js");
leftpanel.add(cardpanel, BorderLayout.CENTER)
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- oldu.cn 版权所有 浙ICP备2024123271号-1
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务