JAVA MyDemoBook.docx
- 文档编号:27176860
- 上传时间:2023-06-27
- 格式:DOCX
- 页数:39
- 大小:21.53KB
JAVA MyDemoBook.docx
《JAVA MyDemoBook.docx》由会员分享,可在线阅读,更多相关《JAVA MyDemoBook.docx(39页珍藏版)》请在冰豆网上搜索。
JAVAMyDemoBook
packagemyDemoBook;
importjava.awt.*;
importjava.awt.event.*;
importjava.awt.*;
importjavax.swing.*;
importjava.lang.*;
importjava.text.*;
importjava.io.*;
importjava.util.*;
importjavax.accessibility.*;
importjava.awt.datatransfer.*;
publicclassNotePadextendsJFrameimplementsActionListener,MouseListener
{
JPanelcontentPane;
JMenuBarjMenuBar1=newJMenuBar();
//工具条
JToolBartoolBar=newJToolBar();
JButtonbutton1=newJButton(newImageIcon("new.gif"));
JButtonbutton2=newJButton(newImageIcon("open.gif"));
JButtonbutton3=newJButton(newImageIcon("save.gif"));
//文件菜单
JMenujMenuFile=newJMenu();
JMenuItemjMenuFileNew=newJMenuItem();
JMenuItemjMenuFileOpen=newJMenuItem();
JMenuItemjMenuFileSave=newJMenuItem();
JMenuItemjMenuFileSaveTo=newJMenuItem();
JMenuItemjMenuFileExit=newJMenuItem();
//帮助菜单
JMenujMenuHelp=newJMenu();
JMenuItemjMenuHelpAbout=newJMenuItem();
BorderLayoutborderLayout1=newBorderLayout();
//编辑菜单
JMenujMenuFileEdit=newJMenu();
JMenuItemjMenuFileCut=newJMenuItem();
JMenuItemjMenuFileCopy=newJMenuItem();
JMenuItemjMenuFilePaste=newJMenuItem();
JMenuItemjMenuFileDel=newJMenuItem();
JMenuItemjMenuFileSelect=newJMenuItem("全选");
//右键菜单
JMenuItemjMenuMouseCut=newJMenuItem("剪切");
JMenuItemjMenuMouseCopy=newJMenuItem("复制");
JMenuItemjMenuMousePaste=newJMenuItem("粘贴");
JMenuItemjMenuMouseDel=newJMenuItem("删除");
//格式菜单
JMenujMenuFileForm=newJMenu();
JMenuItemjMenuFileFindNext=newJMenuItem();
JMenuItemjMenuFileTime=newJMenuItem("时间/日期(D)");
//JMenuItemjMenuFileLine=newJMenuItem("自动换行");
JMenuItemjMenuFileFont=newJMenuItem();
JMenuItemjcolor=newJMenuItem("颜色...");
JCheckBoxjMenuCheckBox=newJCheckBox("自动换行",true);
JTextAreajTextArea1=newJTextArea(15,15);
JLabelstatubar=newJLabel("状态栏");
JPopupMenupm=newJPopupMenu();
Calendarcal=Calendar.getInstance();
//变量声明
Stringfilename;
Stringfilepath;
Stringstrtext="";
booleanbsaved=false;
JFileChooserjFileChooser=newJFileChooser();
JColorChooserjColor=newJColorChooser();
FileDialogfiledialog_save;
BufferedWriterout;
FileWritertofile;
Clipboardcb=Toolkit.getDefaultToolkit().getSystemClipboard();
intn;
inti;
intt;
booleancheck=true;
FileDialogdog;
//组件初始化
publicNotePad(){
contentPane=(JPanel)this.getContentPane();
contentPane.setLayout(borderLayout1);
this.setBounds(110,100,500,450);
this.setFont(newFont("宋体",Font.PLAIN,8));
this.setTitle("记事本");
jTextArea1.setDoubleBuffered(false);
jTextArea1.setToolTipText("记事本");
jTextArea1.setVerifyInputWhenFocusTarget(true);
jTextArea1.setText("");
contentPane.add(statubar,BorderLayout.SOUTH);
toolBar.add(button1);
toolBar.add(button2);
toolBar.add(button3);
//文件
jMenuFile.setText("文件");
jMenuFileExit.setText("退出");
jMenuFileExit.setMnemonic(KeyEvent.VK_X);
KeyStrokekeyExit=KeyStroke.getKeyStroke(KeyEvent.VK_X,Event.CTRL_MASK);
jMenuFileExit.setAccelerator(keyExit);
jMenuFileNew.setText("新建(N)");
jMenuFileNew.setMnemonic(KeyEvent.VK_N);
KeyStrokekeynew=KeyStroke.getKeyStroke(KeyEvent.VK_N,Event.CTRL_MASK);
jMenuFileNew.setAccelerator(keynew);
jMenuFileOpen.setText("打开(O)");
jMenuFileOpen.setMnemonic(KeyEvent.VK_O);
KeyStrokekeyopen=KeyStroke.getKeyStroke(KeyEvent.VK_O,Event.CTRL_MASK);
jMenuFileOpen.setAccelerator(keyopen);
jMenuFileSave.setText("保存(S)");
jMenuFileSave.setMnemonic(KeyEvent.VK_S);
KeyStrokekeysave=KeyStroke.getKeyStroke(KeyEvent.VK_S,Event.CTRL_MASK);
jMenuFileSave.setAccelerator(keysave);
jMenuFileSaveTo.setText("另存为(A)");
jMenuFileSaveTo.setMnemonic(KeyEvent.VK_A);
KeyStrokekeySaveTo=KeyStroke.getKeyStroke(KeyEvent.VK_A,Event.CTRL_MASK);
jMenuFileSaveTo.setAccelerator(keySaveTo);
//编辑
jMenuFileEdit.setText("编辑");
jMenuFileCut.setText("剪切(T)");
jMenuFileCut.setMnemonic(KeyEvent.VK_X);
KeyStrokekeycut=KeyStroke.getKeyStroke(KeyEvent.VK_T,Event.CTRL_MASK);
jMenuFileCut.setAccelerator(keycut);
jMenuFileCopy.setText("复制(C)");
jMenuFileCopy.setMnemonic(KeyEvent.VK_C);
KeyStrokekeycopy=KeyStroke.getKeyStroke(KeyEvent.VK_C,Event.CTRL_MASK);
jMenuFileCopy.setAccelerator(keycopy);
jMenuFilePaste.setText("粘贴(P)");
jMenuFilePaste.setMnemonic(KeyEvent.VK_V);
KeyStrokekeypaste=KeyStroke.getKeyStroke(KeyEvent.VK_V,Event.CTRL_MASK);
jMenuFilePaste.setAccelerator(keypaste);
jMenuFileDel.setText("删除(L)");
jMenuFileDel.setMnemonic(KeyEvent.VK_L);
KeyStrokekeyDel=KeyStroke.getKeyStroke(KeyEvent.VK_L,Event.CTRL_MASK);
jMenuFileDel.setAccelerator(keyDel);
jMenuFileFindNext.setText("查找(F)");
jMenuFileFindNext.setMnemonic(KeyEvent.VK_F);
KeyStrokekeyfind=KeyStroke.getKeyStroke(KeyEvent.VK_F,Event.CTRL_MASK);
jMenuFileFindNext.setAccelerator(keyfind);
jMenuFileSelect.setText("全选(A)");
jMenuFileSelect.setMnemonic(KeyEvent.VK_A);
KeyStrokekeySelect=KeyStroke.getKeyStroke(KeyEvent.VK_A,Event.CTRL_MASK);
jMenuFileSelect.setAccelerator(keySelect);
//格式
jMenuFileForm.setText("格式");
jMenuFileFont.setText("字体");
//jMenuFileLine.setText("自动换行");
//jMenuCheckBox.setText("自动换行");
//帮助
jMenuHelp.setText("帮助");
jMenuHelpAbout.setText("关于");
jMenuBar1.add(jMenuFile);
jMenuBar1.add(jMenuFileEdit);
jMenuBar1.add(jMenuFileForm);
jMenuBar1.add(jMenuHelp);
jMenuFile.add(jMenuFileNew);
jMenuFile.add(jMenuFileOpen);
jMenuFile.add(jMenuFileSave);
jMenuFile.add(jMenuFileSaveTo);
jMenuFile.addSeparator();
jMenuFile.add(jMenuFileExit);
jMenuFileEdit.add(jMenuFileCut);
jMenuFileEdit.add(jMenuFileCopy);
jMenuFileEdit.add(jMenuFilePaste);
jMenuFileEdit.add(jMenuFileDel);
jMenuFileEdit.addSeparator();
//jMenuFileEdit.add(jMenuFileFind);
jMenuFileEdit.add(jMenuFileFindNext);
jMenuFileEdit.add(jMenuFileSelect);
jMenuFileEdit.add(jMenuFileTime);
//jMenuFileForm.add(jMenuFileLine);
jMenuFileForm.add(jMenuFileFont);
jMenuFileForm.add(jcolor);
jMenuFileForm.add(jMenuCheckBox);
jMenuHelp.add(jMenuHelpAbout);
contentPane.add(jTextArea1,BorderLayout.CENTER);
//鼠标菜单
jTextArea1.add(pm);
pm.add(jMenuMouseCut);
pm.add(jMenuMouseCopy);
pm.add(jMenuMousePaste);
pm.add(jMenuMouseDel);
//滚动条控件
JScrollPanescroller=newJScrollPane();
JViewportport=scroller.getViewport();
contentPane.add("Center",scroller);
contentPane.add("North",toolBar);
port.add(jTextArea1);
this.setJMenuBar(jMenuBar1);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//添加菜单中的监听器
jTextArea1.addMouseListener(this);
File_new_actionAdapterfnew=newFile_new_actionAdapter();
jMenuFileNew.addActionListener(fnew);
button1.addActionListener(fnew);
File_open_actionAdapterfopen=newFile_open_actionAdapter();
jMenuFileOpen.addActionListener(fopen);
button2.addActionListener(fopen);
File_save_actionAdapterfsave=newFile_save_actionAdapter();
jMenuFileSave.addActionListener(fsave);
button3.addActionListener(fsave);
File_saveto_actionAdapterfsaveto=newFile_saveto_actionAdapter();
jMenuFileSaveTo.addActionListener(fsaveto);
File_close_actionAdapterfclose=newFile_close_actionAdapter();
jMenuFileExit.addActionListener(fclose);
jMenuFileCut.addActionListener(this);
jMenuFileCopy.addActionListener(this);
jMenuFilePaste.addActionListener(this);
jMenuFileDel.addActionListener(this);
//鼠标事件
jMenuMouseCut.addActionListener(this);
jMenuMouseCopy.addActionListener(this);
jMenuMousePaste.addActionListener(this);
jMenuMouseDel.addActionListener(this);
jMenuFileFindNext.addActionListener(this);
jMenuFileSelect.addActionListener(this);
jMenuFileTime.addActionListener(this);
jMenuFileFont.addActionListener(this);
//jMenuFileLine.addActionListener(this);
jMenuCheckBox.addActionListener(this);
jcolor.addActionListener(this);
jMenuHelpAbout.addActionListener(this);
show();
validate();
}
//调用的函数
publicvoidFile_new_actionPerformed(ActionEvente){
FileNew();
}
publicvoidFile_open_actionPerformed(ActionEvente){
FileOpen();
}
publicvoidFile_save_actionPerformed(ActionEvente){
FileSave();
}
publicvoidFile_saveto_actionPerformed(ActionEvente){
FileSaveTo();
}
publicvoidFile_close_actionPerformed(ActionEvente){
FileClose();
}
publicvoidmouseReleased(MouseEvente){
if(e.isPopupTrigger())
pm.show(this,e.getX(),e.getY());
}
publicvoidmouseClicked(MouseEvente){}
publicvoidmouseEntered(MouseEvente){}
publicvoidmouseExited(MouseEvente){}
publicvoidmousePressed(MouseEvente){}
booleantoExit()
{
if(bsaved)
returntrue;
inti=JOptionPane.showConfirmDialog(this,"是否保存文件","Jishiben",JOptionPane.YES_NO_CANCEL_OPTION);
switch(i)
{
caseJOptionPane.YES_OPTION:
returntrue;
caseJOptionPane.NO_OPTION:
returnfalse;
caseJOptionPane.CANCEL_OPTION:
returnfalse;
default:
returnfalse;
}
}
//调用文件新建
voidFileNew()
{
if(bsaved){
this.jTextArea1.setText("");
this.jTextArea1.setFocusable(true);
this.setTitle("未命名");
this.statubar.setText("新建文本");
}
elseFileSaveTo();
}
//调用文件打开
voidFileOpen()
{
StringstrFileOpen="";
if(bsaved){
try{
if(this.jFileChooser.APPROVE_OPTION==this.jFileChooser.showOpenDialog(this)){
strFileOpen=this.jFileChooser.getSelectedFile().getPath();
Filefile=newFile(strFileOpen);
intflength=(int)file.length();
intnum=0;
FileReaderfReader=newFileReader(file);
char[]data=newchar[flength];
while(fReader.ready()){
num+=fReader.read(data,num,flength-num);
}
fReader.close();
jTextArea1.setText(newString(data,0,num));
filename=strFileOpen;
this.setTitle(filename);
statubar.setText("打开:
"+filename);
up
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JAVA MyDemoBook