java课程设计汇本简单记事本Word文档下载推荐.docx
- 文档编号:16809857
- 上传时间:2022-11-26
- 格式:DOCX
- 页数:17
- 大小:51.45KB
java课程设计汇本简单记事本Word文档下载推荐.docx
《java课程设计汇本简单记事本Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《java课程设计汇本简单记事本Word文档下载推荐.docx(17页珍藏版)》请在冰豆网上搜索。
1、菜单栏
文件菜单
mb=newJMenuBar();
//创建菜单棒
fileMenu=newJMenu("
文件(F)"
);
//创建菜单
fileMenuOpen=newJMenuItem("
打开(O)...Ctrl+O"
fileMenuSave=newJMenuItem("
保存(S)...Ctrl+S"
fileMenuExit=newJMenuItem("
退出"
JMHandlerJM=newJMHandler();
//创建监听器
fileMenuOpen.addActionListener(JM);
//注册监听器
fileMenuSave.addActionListener(JM);
fileMenuExit.addActionListener(JM);
fileMenu.add(fileMenuOpen);
fileMenu.add(fileMenuSave);
fileMenu.addSeparator();
//添加分隔线
fileMenu.add(fileMenuExit);
fileMenu.setFont(f);
//设置菜单中文体的字体
编辑菜单
editMenu=newJMenu("
编辑(E)"
editMenuCopy=newJMenuItem("
复制(C)Ctrl+C"
editMenuCut=newJMenuItem("
剪切(T)Ctrl+X"
editMenuPaste=newJMenuItem("
粘贴(P)Ctrl+v"
EMHandlerEM=newEMHandler();
//创建监听器
editMenuCopy.addActionListener(EM);
//注册监听器
editMenuCut.addActionListener(EM);
editMenuPaste.addActionListener(EM);
editMenu.add(editMenuCopy);
editMenu.add(editMenuCut);
editMenu.add(editMenuPaste);
editMenu.setFont(f);
格式菜单
formatMenu=newJMenu("
格式(O)"
//创建菜单
formatSet=newJMenu("
格式设置"
//二级菜单
lineWrap=newJMenuItem("
自动换行"
//二级菜单项
cancleLineWrap=newJMenuItem("
取消自动换行"
wrapStyleWord=newJMenuItem("
断行不断字"
cancleWrapStyleWord=newJMenuItem("
取消断行不断字"
FMHandlerFM=newFMHandler();
//创建事件监听器
lineWrap.addActionListener(FM);
//注册二级菜单项的监听器
cancleLineWrap.addActionListener(FM);
wrapStyleWord.addActionListener(FM);
cancleWrapStyleWord.addActionListener(FM);
formatSet.add(lineWrap);
formatSet.add(cancleLineWrap);
formatSet.addSeparator();
formatSet.add(wrapStyleWord);
formatSet.add(cancleWrapStyleWord);
formatMenu.add(formatSet);
formatMenu.setFont(f);
工具栏
toolBar=newJToolBar();
//创建工具棒
b1=newJButton(newImageIcon("
img/open.gif"
));
b2=newJButton(newImageIcon("
img/save.gif"
b3=newJButton(newImageIcon("
img/copy.gif"
b4=newJButton(newImageIcon("
img/cut.gif"
b5=newJButton(newImageIcon("
img/paste.gif"
TBHandlerTB=newTBHandler();
//创建按钮监听器
b1.addActionListener(TB);
b2.addActionListener(TB);
b3.addActionListener(TB);
b4.addActionListener(TB);
b5.addActionListener(TB);
//把按钮全部添加到工具棒中
toolBar.add(b1);
toolBar.add(b2);
toolBar.add(b3);
toolBar.add(b4);
toolBar.add(b5);
弹出菜单
pm=newJPopupMenu();
//创建弹出菜单
item1=newJMenuItem("
打开"
item2=newJMenuItem("
保存"
item3=newJMenuItem("
复制"
item4=newJMenuItem("
剪切"
item5=newJMenuItem("
粘贴"
JPHandlerJP=newJPHandler();
item1.addActionListener(JP);
//注册菜单项的鼠标事件监听器
item2.addActionListener(JP);
item3.addActionListener(JP);
item4.addActionListener(JP);
item5.addActionListener(JP);
editor.addMouseListener(JP);
//注册文本区的鼠标事件监听器
pm.add(item1);
pm.add(item2);
pm.add(item3);
pm.add(item4);
pm.add(item5);
2、自定义类实现文件菜单项的事件处理
privateclassJMHandlerimplementsActionListener
{
publicvoidactionPerformed(ActionEvente)
{
if(e.getSource()==fileMenuOpen){loadFile();
}
elseif(e.getSource()==fileMenuSave){saveFile();
}
else{System.exit(0);
}
publicvoidloadFile()//打开文件方法
{
JFileChooserfc=newJFileChooser();
intr=fc.showOpenDialog(this);
if(r==JFileChooser.APPROVE_OPTION)
Filefile=fc.getSelectedFile();
try{editor.read(newFileReader(file),null);
catch(IOExceptione){}
publicvoidsaveFile()//保存文件的方法
intr=fc.showSaveDialog(this);
Filefile=fc.getSelectedFile();
try{editor.write(newFileWriter(file));
3、编辑菜单菜单项的事件处理
privateclassEMHandlerimplementsActionListener
if(e.getSource()==editMenuCopy)//实现复制功能
editor.copy();
editor.requestFocus();
elseif(e.getSource()==editMenuCut)//实现剪切功能
editor.cut();
else//实现粘贴功能
editor.paste();
4、自定义类实现弹出式菜单的事件处理
privateclassJPHandlerimplementsActionListener,MouseListener
publicvoidactionPerformed(ActionEvente)
if(e.getSource()==item1){loadFile();
}//实现打开文件功能
elseif(e.getSource()==item2){saveFile();
}//实现保存文件功能
elseif(e.getSource()==item3)//文件复制
editor.copy();
elseif(e.getSource()==item4)//文件剪切
editor.cut();
else//文件粘贴
publicvoidmouseReleased(MouseEvente)
if(e.isPopupTrigger())//判断是否按下鼠标右键
pm.show(editor,e.getX(),e.getY());
//显示弹出式菜单
publicvoidmouseClicked(MouseEvente){}
publicvoidmouseEntered(MouseEvente){}
publicvoidmouseExited(MouseEvente){}
publicvoidmousePressed(MouseEvente){}
publicstaticvoidmain(String[]args)
NodepadN=newNodepad();
}
三、运行结果
四、总结
本次实验是自己第一次独立完成一个完整的java小程序的运行,程序运用了抽象窗口工具包、扩充和增强图形包等。
第一次进行程序调试的时候,出现了很多错误,但经过自己的修改,程序终于可以运行了。
通过本次实际操作,让我学到了很多知识,也把平时在课本上学到的知识转化到了实际的运用之中,虽然很辛苦,但很高兴。
五、参考文献
a.黄晓东等编著Java课程设计案例精编(第二版)[M].:
中国水利水电,2007
b.兴华等编著Java开发实战经典Java开发实战经典:
清华大学,2009
C.尊朝军Java程序设计(第二版)图形用户界面设计、Swing组件中国铁道,2007
六、附录
importjava.awt.*;
importjavax.swing.*;
importjava.awt.event.*;
importjava.io.*;
publicclassNodepadextendsJFrame
privateJTextAreaeditor;
privateContainerc;
privateFontf=newFont("
sanserif"
Font.PLAIN,12);
//菜单栏成员属性声明
privateJMenuBarmb;
//菜单棒
privateJMenufileMenu;
//文件菜单
privateJMenueditMenu;
//编辑菜单
privateJMenuformatMenu;
//格式菜单
privateJMenuItemfileMenuOpen,fileMenuSave,fileMenuExit;
//文件菜单的菜单项
privateJMenuItemeditMenuCopy,editMenuCut,editMenuPaste;
//编辑菜单的菜单项
privateJMenuformatSet;
//格式菜单第一级菜单
privateJMenuItemlineWrap,cancleLineWrap,wrapStyleWord,cancleWrapStyleWord;
//格式菜单的第二级菜单
//工具栏成员属性声明
privateJToolBartoolBar;
//工具棒
privateJButtonb1,b2,b3,b4,b5;
//声明5个按钮,分别为:
“打开”、“保存”、“复制”、“剪切”、“粘贴”
//弹出式菜单属性声明
privateJPopupMenupm;
privateJMenuItemitem1,item2,item3,item4,item5;
publicNodepad()
super("
简单记事本"
setSize(400,300);
try{
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
}catch(Exceptione){System.err.println("
不能被设置外观的原因:
"
+e);
c=getContentPane();
//创建一个容面板
editor=newJTextArea();
//创建一个文本区
c.add(newJScrollPane(editor));
//设置滚动条,并添加到容面板
//菜单栏的实现
//文件菜单的实现
//编辑菜单的实现
//格式菜单的实现
//将菜单全部添加菜单棒里
mb.add(fileMenu);
mb.add(editMenu);
mb.add(formatMenu);
//工具栏的实现
//按钮分别为:
//弹出菜单的实现
//注册文本区的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 课程设计 简单 记事本