功能:实现了记事本的基本功能,动态界面,文件流,打开文件,修改文件,保存文件,另存为,自定义文件名和格式。本来想实现与数据库连接,但是要实现跨面板调用,不是一件简单的事,所以搁浅了,另外,关于字体的优化类就交给有兴趣的同学们了。
在Eclipse中的结构图如下:
图1
部分运行效果图:
图2
图3
以上图1的类中,有一些是不必要的,是我在制作过程中的测试类,所以在这里只把必要的类附上,运行绝对没有问题:
com.yangcong.extra包:
1. OperateJPanel.java
package com.yangcong.extra; import java.awt.*;
import java.awt.event.*; import java.io.*;
import java.sql.Connection; import java.sql.ResultSet; import java.sql.Statement; import javax.swing.*;
import com.yangcong.tools.*;
public class OperateJPanel extends JPanel implements ActionListener,KeyListener { public Boolean flag=false;//用以判断是否显示第三个面板 String diaryName; String diaryDirectory; int riJiNum; BackTool backTool;
Color myColor; JTextArea myPad;
JScrollPane jScrollPane; JToolBar gongJuTiao;
JButton gongJu1,gongJu2,gongJu3,gongJu4; /*JMenuBar caiDanTiao; JMenu caiDan1;
JMenuItem caiDanXianga;*/ BorderLayout borderLayout; JFileChooser jFileChooser; File duFile=null,xieFile=null; InputStreamReader du=null; OutputStreamWriter xie=null; public OperateJPanel() { //手型光标 Cursor myCursor=new CursorMouse().CursorMouse(); borderLayout=new BorderLayout(); this.setLayout(borderLayout); /*
caiDanTiao=new JMenuBar();//菜单条 caiDan1=new JMenu(\文件\
caiDanXianga=new JMenuItem(\打开\caiDan1.add(caiDanXianga); caiDanTiao.add(caiDan1); //this.add(caiDanTiao); */
gongJuTiao=new JToolBar();//工具条
gongJu1=new JButton(\打开\gongJu1.setCursor(myCursor); gongJu1.addActionListener(this);
gongJu2=new JButton(\保存\gongJu2.setCursor(myCursor); gongJu2.addActionListener(this);
gongJu3=new JButton(\返回\gongJu3.setCursor(myCursor); gongJu3.addActionListener(this); /*
* gongJu4=new JButton(\列表\ gongJu4.setCursor(myCursor); gongJu4.addActionListener(this); */