记事本-java课程设计_java课程设计----记事本

展开全部

//package net.src.net;

import javax.swing.*;

import javax.swing.event.*;

import java.awt.*;

import java.awt.event.*;

import java.io.*;

import java.awt.color.*;

import java.awt.font.*;

import javax.swing.undo.*;

public class Note extends JFrame

{

boolean isChange=false;

boolean wasChange=false;

JMenuBar menuBar=new JMenuBar();

JMenu menuFile=new JMenu("File");

JMenuItem menuFileOpen=new JMenuItem("Open..");

JMenuItem menuFileSave=new JMenuItem("Save..");

JMenuItem menuFileExit=new JMenuItem("Exit");

JMenu menuEdit=new JMenu("Edit");

JMenuItem menuFileCut=new JMenuItem("Cut");

JMenuItem font=new JMenuItem("Font");

JMenuItem menuFilePaste=new JMenuItem("Paste");

JTextArea fileArea=new JTextArea();

public Note()

{

this.setTitle("记事本");

Toolkit tool=this.getToolkit();//窗口图标!

Image myimage=tool.getImage("戒指.jpg");

this.setIconImage(myimage);

setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);

addWindowListener(new WindowAdapter()

{

public void windowClosing(WindowEvent e)

{

exit();

}

});

menuFileOpen.addActionListener(new ActionListener()

{

public void actionPerformed(ActionEvent e)

{

fileOpen_actionPerformed(e);

}

});

menuFileSave.addActionListener(new ActionListener()

{

public void actionPerformed(ActionEvent e)

{

fileSave_actionPerformed(e);

}

});

menuFileExit.addActionListener(new ActionListener()

{

public void actionPerformed(ActionEvent e)

{

fileExit_actionPerformed(e);

}

});

menuFileCut.addActionListener(new ActionListener()

{

public void actionPerformed(ActionEvent e)

{

fileCut_actionPerformed(e);

}

});

menuFilePaste.addActionListener(new ActionListener()

{

public void actionPerformed(ActionEvent e)

{

filePaste_actionPerformed(e);

}

});

font.addActionListener(new ActionListener ()

{

public void actionPerformed(ActionEvent e)

{

fileColor_actionPerformed(e);

}

});

fileArea.getDocument().addDocumentListener(new DocumentListener()

{

public void insertUpdate(DocumentEvent e)

{

wasChange=isChange;

isChange=true;

}

public void removeUpdate(DocumentEvent e)

{

wasChange=isChange;

isChange=true;

}

public void changedUpdate(DocumentEvent e)

{

wasChange=isChange;

isChange=true;

}

});

setSize(500,450);

menuBar.add(menuFile);

menuFile.setMnemonic('F');

menuBar.add(menuEdit);

menuEdit.setMnemonic('E');

menuFile.add(menuFileOpen);

menuFileOpen.setMnemonic('O');//访问e68a8462616964757a686964616f31333234333234健;

menuFileOpen.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_O,InputEvent.CTRL_MASK));//快捷健;

menuFile.add(menuFileSave);

menuFileSave.setMnemonic('S');

menuFileSave.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S,InputEvent.CTRL_MASK));

menuFile.addSeparator();

menuFile.add(menuFileExit);

menuFileExit.setMnemonic('E');

menuEdit.add(menuFileCut);

menuFileCut.setMnemonic('C');

menuFileCut.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_C,InputEvent.CTRL_MASK));

menuEdit.add(menuFilePaste);

menuFilePaste.setMnemonic('P');

menuFilePaste.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_P,InputEvent.CTRL_MASK));

menuEdit.add(font);

font.setMnemonic('N');

font.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_N,InputEvent.CTRL_MASK));

this.getContentPane().add(new JScrollPane(fileArea));

setJMenuBar(menuBar);

fileArea.setLineWrap(true);

}

public void fileExit_actionPerformed(ActionEvent e)

{

System.exit(0);

}

public void fileOpen_actionPerformed(ActionEvent e)

{

//以下是filter;

JFileChooser fileChooser=new JFileChooser();

//fileChooser.addChoosableFileFilter(new myFilter("*.txt","Files(*.txt)"));

fileChooser.addChoosableFileFilter(fileChooser.getFileFilter());

if(fileChooser.APPROVE_OPTION!=fileChooser.showOpenDialog(this))return;

//以下是文件读

BufferedReader dataIn=null;

try

{

dataIn=new BufferedReader(new FileReader(fileChooser.getSelectedFile().getPath()));

String c=null;

do

{

c=dataIn.readLine();

if(c!=null)

fileArea.append(c+"\n");

}

while(c!=null);

}

catch(Exception ex)

{

System.out.println("Catch exception:"+ex.toString());

}

}

public void exit()

{

if(isChange==false)

System.exit(1);

else

{

int decision=JOptionPane.showConfirmDialog(this,"The File has Change.\n"+"Do you want to save the change?",

"Notepad",JOptionPane.YES_NO_CANCEL_OPTION,JOptionPane.WARNING_MESSAGE);

if (decision == JOptionPane.YES_OPTION)

{

//以下是将文件写入计算机!

try {

JFileChooser fileSave = new JFileChooser();

fileSave.setDialogTitle("保存文件");

//fileSave.addChoosableFileFilter(new myFilter("*.txt","Files(*.txt)"));

fileSave.addChoosableFileFilter(fileSave.getFileFilter());

if (fileSave.APPROVE_OPTION != fileSave.showSaveDialog(this))

return;

BufferedWriter dataOut = new BufferedWriter(new BufferedWriter(new

FileWriter(fileSave.getSelectedFile())));

String c = null;

do {

String str = fileArea.getText();

dataOut.write(str);

dataOut.close();

}

while (c != null);

}

catch (Exception e2) {

System.out.println("Catch exception:有错误!" + e2.toString());

}

}

else if (decision == JOptionPane.NO_OPTION)

System.exit(1);

else if (decision == JOptionPane.CANCEL_OPTION);

;

}

//innerclass.fileSave_actionPerformed();

}

public void fileSave_actionPerformed(ActionEvent e1)

{

//以下是将文件写入计算机!

try

{

JFileChooser fileSave=new JFileChooser();

fileSave.setDialogTitle("保存文件" );

//fileSave.addChoosableFileFilter(new myFilter("*.txt","Files(*.txt)"));

fileSave.addChoosableFileFilter(fileSave.getFileFilter());

if(fileSave.APPROVE_OPTION!=fileSave.showSaveDialog(this))return;

BufferedWriter dataOut=new BufferedWriter(new BufferedWriter(new FileWriter(fileSave.getSelectedFile()+".txt")));

//RandomAccessFile dataOut=new RandomAccessFile(fileSave.getSelectedFile(),"rw");

String c=null;

do

{

String str=fileArea.getText();

dataOut.write(str);

dataOut.close();

}

while(c!=null);

}

catch(Exception e2)

{

System.out.println("Catch exception:有错误!"+e2.toString());

}

}

public static void main(String arg[])

{

Note nt=new Note();

nt.show();

}

public void fileCut_actionPerformed(ActionEvent e)

{

fileArea.cut();

}

public void filePaste_actionPerformed(ActionEvent e)

{

fileArea.paste();

}

public void fileColor_actionPerformed(ActionEvent e)

{

JColorChooser fileColor=new JColorChooser();

//fileArea.setForeground(fileColor.showDialog(this,"颜色",Color.red));

//fileArea.setSelectionColor(fileColor.showDialog(this,"颜色",Color.red));

fileArea.setSelectionColor(fileColor.showDialog(this,"颜色",Color.black));

}

}

本回答由提问者推荐

2Q==

已赞过

已踩过<

你对这个回答的评价是?

评论

收起

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
JAVA记事本的设计与实现 JAVA记事本的设计与实现全文共27页,当前为第1页。JAVA记事本的设计与实现全文共27页,当前为第1页。 JAVA记事本的设计与实现全文共27页,当前为第1页。 JAVA记事本的设计与实现全文共27页,当前为第1页。 《面向对象程序设计》课程设计报告 题 目:《日记本的设计与实现 》课程设计 学 院: 信息工程 姓 名: xxxx 学 号: 1134120131 专 业: 软件工程 班 级: 软工 1101班 指导教师: xxxx 二 0 一二年十二月十四日 0 JAVA记事本的设计与实现全文共27页,当前为第2页。JAVA记事本的设计与实现全文共27页,当前为第2页。 JAVA记事本的设计与实现全文共27页,当前为第2页。 JAVA记事本的设计与实现全文共27页,当前为第2页。 目 录 1. 引 言 .......................................................................................................................... 3 2. 设计目的与任务 .......................................................................................................... 4 3. 设计方案 ...................................................................................................................... 5 3.1 总体设计 ................................................................................................................. 5 3.2 设计要求 ............................................................................................................. 5 3.3 系统的主要功能 ..................................................................................................... 5 3.4 开发环境 ................................................................................................................. 5 3.5 系统的功能模块划分与系统流程图 ..................................................................... 6 3.5.1 系统的功能模块划分 ...................................................................................... 6 3.5.2 万年历模块流程图 .......................................................................................... 7 3.5.3 日记本模块流程图 .......................................................................................... 7 3.6 各个类说明 ............................................................................................................. 7 3.6.1 主类 NoteBook ................................................................................................ 7 3.6.2 记事本 Note 类 ................................................................................................ 8

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值