Java设计记事本.docx

上传人:b****1 文档编号:2104610 上传时间:2023-05-02 格式:DOCX 页数:29 大小:224.96KB
下载 相关 举报
Java设计记事本.docx_第1页
第1页 / 共29页
Java设计记事本.docx_第2页
第2页 / 共29页
Java设计记事本.docx_第3页
第3页 / 共29页
Java设计记事本.docx_第4页
第4页 / 共29页
Java设计记事本.docx_第5页
第5页 / 共29页
Java设计记事本.docx_第6页
第6页 / 共29页
Java设计记事本.docx_第7页
第7页 / 共29页
Java设计记事本.docx_第8页
第8页 / 共29页
Java设计记事本.docx_第9页
第9页 / 共29页
Java设计记事本.docx_第10页
第10页 / 共29页
Java设计记事本.docx_第11页
第11页 / 共29页
Java设计记事本.docx_第12页
第12页 / 共29页
Java设计记事本.docx_第13页
第13页 / 共29页
Java设计记事本.docx_第14页
第14页 / 共29页
Java设计记事本.docx_第15页
第15页 / 共29页
Java设计记事本.docx_第16页
第16页 / 共29页
Java设计记事本.docx_第17页
第17页 / 共29页
Java设计记事本.docx_第18页
第18页 / 共29页
Java设计记事本.docx_第19页
第19页 / 共29页
Java设计记事本.docx_第20页
第20页 / 共29页
亲,该文档总共29页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

Java设计记事本.docx

《Java设计记事本.docx》由会员分享,可在线阅读,更多相关《Java设计记事本.docx(29页珍藏版)》请在冰点文库上搜索。

Java设计记事本.docx

Java设计记事本

安徽师范大学

数计学院实验报告

 

专业名称11计科

课程JAVA高级程序设计

实验名称综合练习1

姓名

学号110704012

 

一、实验目的

选择两个项目之一,全面深入掌握前6章内容

二、实验内容

1.设计一个记事本(最大程度近似windowsxp附件中记事本功能)。

2.设计一个绘图软件(最大程度近似windowsxp附件中的画图功能)

三、实验过程和步骤

(作业要求:

程序源码及运行结果截图,要对源码充分注释,将程序功能分解在不同的类中,说明不同类的功能,说明类的成员变量与成员方法功能)

实验代码:

notepad.java

importjava.awt.BorderLayout;

importjava.awt.Event;

importjava.awt.FileDialog;

importjava.awt.Font;

importjava.awt.ScrollPane;

importjava.awt.datatransfer.Clipboard;

importjava.awt.datatransfer.DataFlavor;

importjava.awt.datatransfer.StringSelection;

importjava.awt.datatransfer.Transferable;

importjava.awt.event.ActionEvent;

importjava.awt.event.ActionListener;

importjava.awt.event.KeyEvent;

importjava.awt.event.MouseAdapter;

importjava.awt.event.MouseEvent;

importjava.awt.event.WindowAdapter;

importjava.awt.event.WindowEvent;

importjava.io.BufferedReader;

importjava.io.BufferedWriter;

importjava.io.File;

importjava.io.FileReader;

importjava.io.FileWriter;

importjava.io.IOException;

importjava.text.SimpleDateFormat;

importjava.util.Calendar;

importjavax.swing.JCheckBoxMenuItem;

importjavax.swing.JFrame;

importjavax.swing.JMenu;

importjavax.swing.JMenuBar;

importjavax.swing.JMenuItem;

importjavax.swing.JOptionPane;

importjavax.swing.JPopupMenu;

importjavax.swing.JTextArea;

importjavax.swing.KeyStroke;

importjavax.swing.event.DocumentEvent;

importjavax.swing.event.DocumentListener;

importjavax.swing.event.UndoableEditEvent;

importjavax.swing.event.UndoableEditListener;

importjavax.swing.undo.UndoManager;

publicclassnotepadextendsJFrameimplementsActionListener,DocumentListener,

UndoableEditListener{

JFramef=newJFrame("记事本");

ScrollPanejsp=newScrollPane();

JPopupMenupop=newJPopupMenu();

JTextAreata=newJTextArea();

JOptionPanejop=newJOptionPane();

UndoManagerum=newUndoManager();

JMenuBarbar=newJMenuBar();

JMenufile=newJMenu("文件");

JMenuedit=newJMenu("编辑");

JMenuformat=newJMenu("格式");

JMenulook=newJMenu("查看");

JMenuhelp=newJMenu("帮助");

JMenuItemnewFile=newJMenuItem("新建");

JMenuItemopen=newJMenuItem("打开");

JMenuItemsave=newJMenuItem("保存");

JMenuItemsaveNew=newJMenuItem("另存为");

JMenuItemexit=newJMenuItem("退出");

JMenuItemback=newJMenuItem("撤销");

JMenuItemcut=newJMenuItem("剪切");

JMenuItemcopy=newJMenuItem("复制");

JMenuItempaste=newJMenuItem("粘贴");

JMenuItemdel=newJMenuItem("删除");

JMenuItemselt=newJMenuItem("查找");

JMenuItemrep=newJMenuItem("替换");

JMenuItemall=newJMenuItem("全选");

JMenuItemdate=newJMenuItem("日期");

JCheckBoxMenuItemautoLine=newJCheckBoxMenuItem("自动换行",true);

JCheckBoxMenuItemstatus=newJCheckBoxMenuItem("状态栏",true);

JMenuItemsHelp=newJMenuItem("查看帮助");

JMenuItemabout=newJMenuItem("关于");

JMenuItemback1=newJMenuItem("撤销");

JMenuItemcut1=newJMenuItem("剪切");

JMenuItemcopy1=newJMenuItem("复制");

JMenuItempaste1=newJMenuItem("粘贴");

JMenuItemdel1=newJMenuItem("删除");

JMenuItemall1=newJMenuItem("全选");

FileDialogopenDia=newFileDialog(f,"打开",FileDialog.LOAD);

FileDialogsaveDia=newFileDialog(f,"保存",FileDialog.SAVE);

dialogprompt;

aboutFileprompta;

Filefe;

Clipboardclipboard=null;

booleanisSave,change,isLine;

Stringselect;

publicnotepad(){

isSave=false;

change=false;

isLine=true;

setup();

f.addWindowListener(newWindowAdapter(){

publicvoidwindowClosing(WindowEventwe){

if((isSave==false)&&(change==true)){

dialogdg=newdialog(f,"记事本",true);

}else

System.exit(0);

}

});

ta.setFont(newFont("宋体",0,20));

ta.setLineWrap(true);

pack();

f.setBounds(150,100,650,550);

f.setVisible(true);

}

publicvoidsetup(){

setLayout(newBorderLayout());

f.setJMenuBar(bar);

jsp.add(ta);

f.add(jsp);

bar.add(file);

bar.add(edit);

bar.add(format);

bar.add(look);

bar.add(help);

file.add(newFile);

file.add(open);

file.add(save);

file.add(saveNew);

file.addSeparator();

file.add(exit);

edit.add(back);

edit.addSeparator();

edit.add(cut);

edit.add(copy);

edit.add(paste);

edit.add(del);

edit.addSeparator();

edit.add(selt);

edit.add(rep);

edit.addSeparator();

edit.add(all);

edit.addSeparator();

edit.add(date);

format.add(autoLine);

look.add(status);

help.add(sHelp);

help.add(about);

pop.add(back1);

pop.addSeparator();

pop.add(cut1);

pop.add(copy1);

pop.add(paste1);

pop.add(del1);

pop.addSeparator();

pop.add(all1);

newFile.setMnemonic('N');

newFile.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_N,Event.CTRL_MASK));

open.setMnemonic('O');

open.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_O,Event.CTRL_MASK));

save.setMnemonic('S');

save.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S,Event.CTRL_MASK));

saveNew.setMnemonic('A');

saveNew.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_A,Event.SHIFT_MASK));

exit.setMnemonic('X');

exit.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_X,Event.SHIFT_MASK));

back.setMnemonic('Z');

back.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_Z,Event.CTRL_MASK));

cut.setMnemonic('X');

cut.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_X,Event.CTRL_MASK));

copy.setMnemonic('C');

copy.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_C,Event.CTRL_MASK));

paste.setMnemonic('V');

paste.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_V,Event.CTRL_MASK));

del.setMnemonic('L');

del.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_DELETE,0));

selt.setMnemonic('F');

selt.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_F,Event.CTRL_MASK));

rep.setMnemonic('H');

rep.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_H,Event.CTRL_MASK));

all.setMnemonic('A');

all.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_A,Event.CTRL_MASK));

date.setMnemonic('D');

date.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_F5,0));

autoLine.setMnemonic('W');

autoLine.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_W,Event.SHIFT_MASK));

status.setMnemonic('S');

status.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S,Event.SHIFT_MASK));

sHelp.setMnemonic('H');

sHelp.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_H,Event.SHIFT_MASK));

about.setMnemonic('B');

about.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_B,Event.SHIFT_MASK));

back1.setMnemonic('Z');

back1.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_Z,Event.CTRL_MASK));

cut1.setMnemonic('X');

cut1.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_X,Event.CTRL_MASK));

copy1.setMnemonic('C');

copy1.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_C,Event.CTRL_MASK));

paste1.setMnemonic('V');

paste1.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_V,Event.CTRL_MASK));

del1.setMnemonic('L');

del1.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_DELETE,0));

all1.setMnemonic('A');

all1.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_A,Event.CTRL_MASK));

newFile.addActionListener(this);

open.addActionListener(this);

save.addActionListener(this);

saveNew.addActionListener(this);

exit.addActionListener(this);

back.addActionListener(this);

cut.addActionListener(this);

copy.addActionListener(this);

paste.addActionListener(this);

del.addActionListener(this);

selt.addActionListener(this);

rep.addActionListener(this);

all.addActionListener(this);

date.addActionListener(this);

autoLine.addActionListener(this);

status.addActionListener(this);

about.addActionListener(this);

sHelp.addActionListener(this);

back1.addActionListener(this);

cut1.addActionListener(this);

copy1.addActionListener(this);

paste1.addActionListener(this);

del1.addActionListener(this);

all1.addActionListener(this);

ta.getDocument().addDocumentListener(this);

ta.getDocument().addUndoableEditListener(this);

ta.addMouseListener(newMouseAdapter(){

publicvoidmousePressed(MouseEventme){

if(me.getButton()==me.BUTTON3){

pop.show(ta,me.getX(),me.getY());

}

}

});

}

publicvoidopenFile(){

openDia.setVisible(true);

StringdirPath=openDia.getDirectory();

StringfileName=openDia.getFile();

if(dirPath==null||fileName==null)

return;

ta.setText("");

fe=newFile(dirPath,fileName);

try{

BufferedReaderin=newBufferedReader(newFileReader(fe));

Stringline=null;

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

=null)

ta.append(line+"\r\n");

in.close();

ta.setCaretPosition(0);

}catch(IOExceptionioe){

System.err.println(ioe);

}

}

publicvoidsaveFile(){

if(fe==null){

saveDia.setVisible(true);

StringdirPath=openDia.getDirectory();

StringfileName=openDia.getFile();

if(dirPath==null||fileName==null)

return;

ta.setText("");

Filefe=newFile(dirPath,fileName);

}

isSave=true;

change=false;

try{

BufferedWriterout=newBufferedWriter(newFileWriter(fe));

Stringtext=ta.getText();

out.write(text);

out.flush();

out.close();

}catch(IOExceptionioe){

System.err.println(ioe);

}

}

 

publicvoidundoableEditHappened(UndoableEditEventue){

um.addEdit(ue.getEdit());

}

publicvoidchangedUpdate(DocumentEvente){

change=true;

}

publicvoidinsertUpdate(DocumentEvente){

change=true;

}

publicvoidremoveUpdate(DocumentEvente){

change=true;

}

publicvoidactionPerformed(ActionEventae){

if(ta.getText().equals(""))

change=false;

if(ae.getSour

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

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2