Java记事本

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

功能:实现了记事本的基本功能,动态界面,文件流,打开文件,修改文件,保存文件,另存为,自定义文件名和格式。本来想实现与数据库连接,但是要实现跨面板调用,不是一件简单的事,所以搁浅了,另外,关于字体的优化类就交给有兴趣的同学们了。

在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("打开", new ImageIcon("images/open.png"));

caiDan1.add(caiDanXianga);

caiDanTiao.add(caiDan1);

//this.add(caiDanTiao);

*/

gongJuTiao=new JToolBar();//工具条

gongJu1=new JButton("打开", new ImageIcon("images/open.png"));

gongJu1.setCursor(myCursor);

gongJu1.addActionListener(this);

gongJu2=new JButton("保存", new ImageIcon("images/save.png"));

gongJu2.setCursor(myCursor);

gongJu2.addActionListener(this);

gongJu3=new JButton("返回", new ImageIcon("images/return.png"));

gongJu3.setCursor(myCursor);

gongJu3.addActionListener(this);

/*

* gongJu4=new JButton("列表", new ImageIcon("images/list.png"));

gongJu4.setCursor(myCursor);

gongJu4.addActionListener(this);

*/

gongJuTiao.add(gongJu1);

gongJuTiao.add(gongJu2);

gongJuTiao.add(gongJu3);

//gongJuTiao.add(gongJu4);

this.add(gongJuTiao,borderLayout.NORTH);

myPad=new JTextArea(24,60);//25,60

myPad.setLineWrap(true);//设置自动换行

myPad.addKeyListener(this);//当文字发生改变的时候,保存按钮又可以使用了

jScrollPane=new JScrollPane(myPad);//用滚动条将文本区域圈起来

this.add(jScrollPane,borderLayout.SOUTH);

myColor=new Color(244,214,164);//设置背景颜色

this.setBackground(myColor);

}

public void actionPerformed(ActionEvent e)

{

// TODO Auto-generated method stub

if(e.getSource()==gongJu1)

{

myPad.setText(null);

jFileChooser=new JFileChooser();

//jFileChooser.setDialogType(JFileChooser.OPEN_DIALOG);

//jFileChooser.showDialog(null,"打开文件");

jFileChooser.showOpenDialog(null);

try

{

if(jFileChooser.getSelectedFile()!=null)

{

duFile=jFileChooser.getSelectedFile();

du=new InputStreamReader(new FileInputStream(duFile),"UTF-8");//解决乱码

//FileReader du=new FileReader(duFile);//建立通道

/*

RandomAccessFile du=new RandomAccessFile(duFile, "rw");

long filePoint=0;

long fileLength=du.length();

while(filePoint

{

String string=du.readLine();

myPad.append(string+"\r\n");

filePoint=du.getFilePointer();

}

du.close();

相关文档
最新文档