java电子日记本代码及运行结果.docx

上传人:b****5 文档编号:3185460 上传时间:2022-11-19 格式:DOCX 页数:15 大小:271.90KB
下载 相关 举报
java电子日记本代码及运行结果.docx_第1页
第1页 / 共15页
java电子日记本代码及运行结果.docx_第2页
第2页 / 共15页
java电子日记本代码及运行结果.docx_第3页
第3页 / 共15页
java电子日记本代码及运行结果.docx_第4页
第4页 / 共15页
java电子日记本代码及运行结果.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

java电子日记本代码及运行结果.docx

《java电子日记本代码及运行结果.docx》由会员分享,可在线阅读,更多相关《java电子日记本代码及运行结果.docx(15页珍藏版)》请在冰豆网上搜索。

java电子日记本代码及运行结果.docx

java电子日记本代码及运行结果

//程序主类

publicclassDiary

{

publicstaticvoidmain(Stringargs[])throwsException

{

newLoginWindow();

Rememberwin=newRemember();

win.pack();

}

}

importjavax.swing.*;

importjavax.swing.tree.*;

importjava.awt.*;

importjava.awt.event.*;

importjavax.swing.event.*;

importjava.io.*;

importjava.util.*;

//日记本类

classRememberextendsJFrameimplementsTreeSelectionListener,ActionListener

{

privatestaticfinalStringDiaryRoot=null;

JTreetree=null;

inti=0,r=255,g=255,b=255;

JTextAreatext=newJTextArea("",20,50);

DefaultMutableTreeNoderoot;

DefaultMutableTreeNodemonth[]=newDefaultMutableTreeNode[13];

JButtonb_save=newJButton("保存"),

b_fontCommen=newJButton("还原"),

b_fontBig=newJButton("大字"),

b_fontRed=newJButton("红色"),

b_fontBlue=newJButton("蓝色"),

b_bg=newJButton("背景");

Remember()

{

Containercon=getContentPane();

DefaultMutableTreeNoderoot=newDefaultMutableTreeNode("日记本");

//设置以月份为节点的树

for(i=1;i<=12;i++)

{

month[i]=newDefaultMutableTreeNode(""+i+"月");

root.add(month[i]);

}

//设置不同月份的节点

for(i=1;i<=12;i++)

{

//处理有31天的月份

if(i==1||i==3||i==5||i==7||i==8||i==10||i==12)

{

for(intj=1;j<=31;j++){

Strings1=month[i].toString();

Strings2=j+"日.txt";

Filefile=newFile(DiaryRoot+s1+s2);

//如果这一天写了日记则相应节点后面添加一个“*”来标志

if(file.exists()==true)month[i].add(newDefaultMutableTreeNode(j+"日*"));

elsemonth[i].add(newDefaultMutableTreeNode(j+"日"));

}

}

//处理有30天的月份

elseif(i==4||i==6||i==9||i==11)

{

for(intj=1;j<=30;j++){

Strings1=month[i].toString();

Strings2=j+"日.txt";

Filefile=newFile(DiaryRoot+s1+s2);

//如果这一天写了日记则相应节点后面添加一个“*”来标志

if(file.exists()==true)month[i].add(newDefaultMutableTreeNode(j+"日*"));

elsemonth[i].add(newDefaultMutableTreeNode(j+"日"));

}

}

//处理有28天的月份

else

{

for(intj=1;j<=28;j++){

Strings1=month[i].toString();

Strings2=j+"日.txt";

Filefile=newFile(DiaryRoot+s1+s2);

//如果这一天写了日记则相应节点后面添加一个“*”来标志

if(file.exists()==true)month[i].add(newDefaultMutableTreeNode(j+"日*"));

elsemonth[i].add(newDefaultMutableTreeNode(j+"日"));

}

}

}

//设置监听

b_save.addActionListener(this);

b_fontRed.addActionListener(this);

b_fontCommen.addActionListener(this);

b_fontBig.addActionListener(this);

b_fontBlue.addActionListener(this);

b_bg.addActionListener(this);

//创建树及其面板

tree=newJTree(root);

JPanelp=newJPanel();

//设置边界布局

p.setLayout(newBorderLayout());

JScrollPanescrollpane_1=newJScrollPane(text);

//带滚动条的面板放置到中间,可以占据最大空间位置

p.add(scrollpane_1,BorderLayout.CENTER);

//设置面板,放置"保存"和"删除"按钮等按钮,面板放在上部

JPanelp_1=newJPanel();

p_1.add(b_save);

p_1.add(b_fontCommen);

p_1.add(b_fontBig);

p_1.add(b_fontRed);

p_1.add(b_fontBlue);

p_1.add(b_bg);

//设置布局

p.add(p_1,BorderLayout.NORTH);

JScrollPanescrollpane_2=newJScrollPane(tree);

JSplitPanesplitpane=newJSplitPane(JSplitPane.HORIZONTAL_SPLIT,true,scrollpane_2,p);

tree.addTreeSelectionListener(this);

con.add(splitpane);

//设置窗体适配器,关闭功能

addWindowListener(newWindowAdapter(){

publicvoidwindowClosing(WindowEvente){

System.exit(0);

}});

setVisible(true);

setBounds(200,150,500,600);

}

//处理树节点事件

publicvoidvalueChanged(TreeSelectionEvente)

{

//清空文本区中的内容

text.setText("");

if(e.getSource()==tree)

{

//定义被选中的节点

DefaultMutableTreeNodenode=

(DefaultMutableTreeNode)tree.getLastSelectedPathComponent();

//如果是叶节点,则可以对文件进行操作

if(node.isLeaf())

{

//日记以“-月-日.txt”的形式存储,所以要消除“*”号的影响

Stringstr=node.toString();

str=str.substring(0,str.length()-1);

for(inti=0;i<=12;i++)

{

if(node.getParent()==month[i])

{

try{

Stringtemp=null;

//打开以节点(“*”号影响已经消除)所定义的文本为文件名的文件

Filef=newFile(DiaryRoot+node.getParent().toString()+str+".txt");

//建立文本文件输入流,读取文件

FileReaderfile=newFileReader(f);

BufferedReaderin=newBufferedReader(file);

//将读到的文件内容添加到文本区中,按行读入

while((temp=in.readLine())!

=null)

text.append(temp+'\n');

file.close();

in.close();

}

catch(FileNotFoundExceptione1){}

catch(IOExceptione1){}

}

}

}

}

}

//处理按钮事件

publicvoidactionPerformed(ActionEvente)

{

//处理"保存"按钮的事件

if(e.getSource()==b_save)

{

DefaultMutableTreeNodenode=

(DefaultMutableTreeNode)tree.getLastSelectedPathComponent();

Stringstr=node.toString();

//保存文件时去除“*”号的影响

str=str.replace("*","");

//如果是叶节点,则可以对文件进行操作

if(node.isLeaf())

{

//保存文件

try{

//建立以节点所定义的文本为文件名的文件

Filef=newFile(DiaryRoot+node.getParent().toString()+str+".txt");

//建立文本文件输出流

FileWritertofile=newFileWriter(f);

BufferedWriterout=newBufferedWriter(tofile);

//将文本区中的内容写到文件缓冲区

out.write(text.getText(),0,(text.getText()).length());

//将缓冲区中的内容写到文件

out.flush();

tofile.close();

out.close();

}

catch(FileNotFoundExceptione1){}

catch(IOExceptione1){}

}

}

//处理"大字"按钮事件

elseif(e.getSource()==b_fontBig)

{

t

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试认证 > 司法考试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1