📄 notepad.java
字号:
import java.awt.*;
import java.awt.event.*;
import java.util.*;
import javax.swing.*;
import javax.swing.event.*;
import java.io.*;
public class NotePad extends JPanel implements ActionListener
{
JTextArea text;
JButton 保存日志,删除日志;
Hashtable table;
JLabel 信息条;
int year,month;
String day;
File file;
CalendarPad calendar;
LunarCal lunar;
public NotePad(CalendarPad calendar)throws Exception{
this.calendar=calendar;
year=calendar.getYear();
month=calendar.getMonth();
day=calendar.getDay();
int d=Integer.parseInt(day);
lunar=new LunarCal(year-1,month,d);
table=calendar.getHashtable();
file=calendar.getFile();
信息条=new JLabel(" "+year+"年"+month+"月"+day+"日"+lunar.animalsYear()+"年",JLabel.CENTER);
信息条.setFont(new Font("TimesRoman",Font.BOLD,16));
信息条.setForeground(Color.blue);
text=new JTextArea(10,10);
保存日志=new JButton("保存日志");
删除日志=new JButton("删除日志");
保存日志.addActionListener(this);
删除日志.addActionListener(this);
setLayout(new BorderLayout());
JPanel pSouth=new JPanel();
add(信息条,BorderLayout.NORTH);
pSouth.add(保存日志);
pSouth.add(删除日志);
add(pSouth,BorderLayout.SOUTH);
add(new JScrollPane(text),BorderLayout.CENTER);
}
public void actionPerformed(ActionEvent e){
if(e.getSource()==保存日志){
保存日志(year,month,day);
}
if(e.getSource()==删除日志){
删除日志(year,month,day);
}
}
public void setYear(int year){this.year=year;}
public int getYear(){return year;}
public void setMonth(int month){this.month=month;}
public int getMonth(){return month;}
public void setDay(String day){this.day=day;}
public String getDay(){return day;}
public void 设置信息条(int year,int month,String day)throws Exception
{
int d=8;
lunar=new LunarCal(year-1,month,d);
信息条.setText((" "+year+"年"+month+"月"+day+"日【"+lunar.animalsYear()+"】年"));}
public void 设置文本区(String s)
{text.setText(s);}
public void 获取日志内容(int year,int month,String day){
String key=" "+year+" "+month+""+day;
try{
FileInputStream inone=new FileInputStream(file);
ObjectInputStream intwo=new ObjectInputStream(inone);
table=(Hashtable)intwo.readObject();
inone.close();
intwo.close();
}catch(Exception ee){}
if(table.containsKey(key)){
// text.setText((String)table.get(key));
//else text.setText(" ");
String m=" "+year+"年"+month+"月"+day+"日这一天有日志记录,想看吗?";
int ok=JOptionPane.showConfirmDialog(this,m,"询问",JOptionPane.YES_NO_OPTION,
JOptionPane.QUESTION_MESSAGE);
if(ok==JOptionPane.YES_OPTION)
text.setText((String)table.get(key));
else text.setText(" ");
}
else text.setText("无日志记录");
}
public void 保存日志(int year,int month,String day){
String 日志内容=text.getText();
String key=" "+year+" "+month+""+day;
String m=" "+year+"年"+month+"月"+day+"日,保存日志吗?";
int ok=JOptionPane.showConfirmDialog(this,m,"询问",JOptionPane.YES_NO_OPTION,
JOptionPane.QUESTION_MESSAGE);
if(ok==JOptionPane.YES_OPTION){
for(int i=1;i<42;i++){
if(calendar.showDay[i].getText().equals(day))
calendar.showDay[i].setForeground(new Color(68,188,202));}
try{
FileInputStream inone=new FileInputStream(file);
ObjectInputStream intwo=new ObjectInputStream(inone);
table=(Hashtable)intwo.readObject();
inone.close();
intwo.close();
table.put(key,日志内容);
calendar.table.put(key,日志内容);
FileOutputStream out=new FileOutputStream(file);
ObjectOutputStream objectout=new ObjectOutputStream(out);
objectout.writeObject(table);
out.close();
}catch(Exception e){}
}
}
public void 删除日志(int year,int month,String day){
String key=" "+year+" "+month+""+day;
if(table.containsKey(key)){
String m="删除"+year+"年"+month+"月"+day+"日保存日志吗?";
int ok=JOptionPane.showConfirmDialog(this,m,"询问",JOptionPane.YES_NO_OPTION,
JOptionPane.QUESTION_MESSAGE);
if(ok==JOptionPane.YES_OPTION){
try{
FileInputStream inone=new FileInputStream(file);
ObjectInputStream intwo=new ObjectInputStream(inone);
table=(Hashtable)intwo.readObject();
inone.close();
intwo.close();
table.remove(key);
calendar.table.remove(key);
FileOutputStream out=new FileOutputStream(file);
ObjectOutputStream objectout=new ObjectOutputStream(out);
objectout.writeObject(table);
out.close();
}catch(Exception e){}
calendar.设置日历牌(calendar.负责改变年.year,calendar.负责改变月.month);
}
}
else{
String m=" "+year+"年"+month+"月"+day+"日无日志记录";
JOptionPane.showConfirmDialog(this,m,"询问",JOptionPane.WARNING_MESSAGE);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -