您好,欢迎来到年旅网。
搜索
您的当前位置:首页java-日历记事本

java-日历记事本

来源:年旅网

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

本站由北京市万商天勤律师事务所王兴未律师提供法律服务