📄 mycalendar.java
字号:
package pda;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.util.*;
import javax.swing.table.DefaultTableCellRenderer;
public class MyCalendar extends JFrame implements KeyListener{
Calendar cd = null;
int years;
int months;
int dates;
String s,path;
//int t;
JTable table;
Object date[][];
Object name[]={"日","一","二","三","四","五","六"};
//JTextArea context;
JTextField year,month;
JLabel label1,label2;
JPanel panel;
MyCalendar(){
super("日历");
java.awt.Dimension screenSize = java.awt.Toolkit.getDefaultToolkit().getScreenSize();
setBounds((screenSize.width-400)/2, (screenSize.height-300)/2, 400, 300);
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
year=new JTextField();
year.setColumns(6);
month=new JTextField();
month.setColumns(6);
label1=new JLabel("请选择年份:");
label2=new JLabel("请选择月份:");
panel=new JPanel();
setDefaultCloseOperation(javax.swing.WindowConstants.HIDE_ON_CLOSE);
panel.add(label1);
panel.add(year);
panel.add(label2);
panel.add(month);
Container con=getContentPane();
con.setLayout(new BorderLayout());
con.add(panel,BorderLayout.NORTH);
cd=new GregorianCalendar();
years=cd.get(Calendar.YEAR);
year.setText(""+years);
months=cd.get(Calendar.MONTH)+1;
month.setText(""+months);
cd.set(Calendar.DATE, 1);
int dateNumber=cd.getActualMaximum(Calendar.DATE);
int firstDay=cd.get(Calendar.DAY_OF_WEEK)-1;
int count=1;
date=new Object[6][7];
for(int i=0;i<6;i++){
for(int j=0;j<7;j++){
if(count>dateNumber)
break;
else {
if ((i*7+j)<firstDay)
continue;
else{
date[i][j]=count;
//t=count;
count++;
}
}
}
}
table=new JTable(date,name);
table.setRowHeight(32);
con.add(new JScrollPane(table),BorderLayout.CENTER);
//con.add(context,BorderLayout.SOUTH);
con.validate();
validate();
year.addKeyListener(this);
month.addKeyListener(this);
table.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
tableMouseClicked(evt);
}
});
}
public void keyPressed(KeyEvent e) {
if(e.getKeyChar()==10){
years=Integer.parseInt(year.getText());
months=Integer.parseInt(month.getText());
cd=new GregorianCalendar(years,months-1,1);
int dateNumber=cd.getActualMaximum(Calendar.DATE);
int firstDay=cd.get(Calendar.DAY_OF_WEEK)-1;
int count=1;
date=new Object[6][7];
for(int i=0;i<6;i++){
for(int j=0;j<7;j++){
if(count>dateNumber)
break;
else {
if ((i*7+j)<firstDay)
continue;
else{
date[i][j]=count;
count++;
}
}
}
}
table=new JTable(date,name);
table.setRowHeight(32);
table.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
tableMouseClicked(evt);
}
});
getContentPane().removeAll();
getContentPane().setLayout(new BorderLayout());
getContentPane().add(panel,BorderLayout.NORTH);
getContentPane().add(new JScrollPane(table),BorderLayout.CENTER);
validate();
}
}
public void keyTyped(KeyEvent e) {
}
public void keyReleased(KeyEvent e) {
}
/*public static void main(String[] args) {
// TODO Auto-generated method stub
MyCalendar mc=new MyCalendar();
}*/
public void tableMouseClicked(MouseEvent e) {
int row=table.rowAtPoint(e.getPoint());
int col=table.columnAtPoint(e.getPoint());
//s=year.getText()+"\u5e74"+month.getText()+"\u6708"+""+table.getValueAt(row,col)+"\u65e5";
path=year.getText()+"\u5e74"+month.getText()+"\u6708"+""+table.getValueAt(row,col)+"\u65e5.txt";
openFile();
}
public void openFile(){
try{
File file=new File(path);
FileReader fr=new FileReader(file);
BufferedReader br=new BufferedReader(fr);
ShowDiary sd=new ShowDiary(path);
sd.setVisible(true);
br.close();
fr.close();
}catch (Exception e){
DiaryBook db=new DiaryBook(path);
db.setVisible(true);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -