java实习编程代码记事本.docx
- 文档编号:11750460
- 上传时间:2023-03-31
- 格式:DOCX
- 页数:34
- 大小:115.53KB
java实习编程代码记事本.docx
《java实习编程代码记事本.docx》由会员分享,可在线阅读,更多相关《java实习编程代码记事本.docx(34页珍藏版)》请在冰豆网上搜索。
java实习编程代码记事本
Java记事本
1源代码:
packagejava记事本;//将记事本打包为“记事本”的文件
importjava.awt.*;
importjava.awt.event.*;
importjavax.swing.JColorChooser;
importjava.io.*;
importjava.awt.datatransfer.*;引入Java中包装类
importjavax.swing.JOptionPane;
importjavax.swing.JTextArea;
importjava.util.Date;
importjava.text.SimpleDateFormat;
classFextendsFrameimplementsActionListener,WindowListener记事本窗体的创建及部分功能的实现
{
FileDialogfiledialog_save,filedialog_load;记事本中的“打开”“保存”对话框的声明
MenuBarmenubar;
Menumenu1,menu2,menu3,menu4,menu5,menu6;
MenuItemitem1,item2,item3,item4,item5,item6,item7,item8,item9,item10,item11,item12,窗体上的各种菜单项目的声明
item13,item14,item15,item16,item17,item18,item19,item20,item21,item22,item23,item24,item25,item26;
TextAreatext;文本区的声明
BufferedReaderin;
FileReaderfile_reader;数据流的读写
BufferedWriterout;
FileWritertofile;
Strings;
Clipboardclipboard=null;
PrintJobp=null;//声明一个PrintJob对象。
Graphicsg=null;
Choicelist;
JTextAreat;
Labellabel;
Dialogmydialog;
F(Strings)开始创建窗体并加载各种菜单项和文本区
{
setTitle(s);
Toolkittool=getToolkit();
Dimensiondim=tool.getScreenSize();//窗体的相关设置
setBounds(300,200,dim.width/2,2*dim.height/3);
clipboard=getToolkit().getSystemClipboard();
menubar=newMenuBar();//开始加载菜单项
menu1=newMenu("文件");
menu2=newMenu("编辑");
menu3=newMenu("格式");
menu4=newMenu("查看");
menu5=newMenu("帮助");
menu6=newMenu("加密解密文本");
//文件菜单
item1=newMenuItem("新建(N)");
item1.setShortcut(newMenuShortcut(KeyEvent.VK_N));//实现快捷键
item1.addActionListener(this);
item2=newMenuItem("打开");
item2.addActionListener(this);
item2.setShortcut(newMenuShortcut(KeyEvent.VK_O));
item3=newMenuItem("保存");
item3.addActionListener(this);
item3.setShortcut(newMenuShortcut(KeyEvent.VK_S));
//item4=newMenuItem("另存为(A)");
//item4.addActionListener(this);
item5=newMenuItem("页面设置");
item5.addActionListener(this);
item5.setShortcut(newMenuShortcut(KeyEvent.VK_U));
item6=newMenuItem("打印");
item6.addActionListener(this);
item6.setShortcut(newMenuShortcut(KeyEvent.VK_P));
item7=newMenuItem("退出");
item7.addActionListener(this);
//item7.setShortcut(newMenuShortcut(KeyEvent.VK_X));
//编辑菜单
item8=newMenuItem("撤销(Z)");
item8.addActionListener(this);
item8.setShortcut(newMenuShortcut(KeyEvent.VK_Z));
item9=newMenuItem("剪切(T)");
item9.addActionListener(this);
item9.setShortcut(newMenuShortcut(KeyEvent.VK_T));
item10=newMenuItem("复制");
item10.addActionListener(this);
item10.setShortcut(newMenuShortcut(KeyEvent.VK_C));
item11=newMenuItem("粘贴");
item11.addActionListener(this);
item11.setShortcut(newMenuShortcut(KeyEvent.VK_V));
item12=newMenuItem("删除");
item12.addActionListener(this);
item12.setShortcut(newMenuShortcut(KeyEvent.VK_D));
item13=newMenuItem("查找");
item13.addActionListener(this);
item13.setShortcut(newMenuShortcut(KeyEvent.VK_F));
item14=newMenuItem("查找下一个");
item14.addActionListener(this);
item15=newMenuItem("替换");
item15.addActionListener(this);
item15.setShortcut(newMenuShortcut(KeyEvent.VK_R));
item16=newMenuItem("转到");
item16.addActionListener(this);
item17=newMenuItem("全选");
item17.addActionListener(this);
item17.setShortcut(newMenuShortcut(KeyEvent.VK_A));
item18=newMenuItem("时间/日期");
item18.addActionListener(this);
//格式菜单
item19=newCheckboxMenuItem("自动换行");//自动换行项
item19.addActionListener(this);
item20=newMenuItem("字体");
item20.addActionListener(this);
item24=newMenuItem("背景色");
item24.addActionListener(this);
//查看菜单
item21=newMenuItem("状态栏(S)");
item1.addActionListener(this);
//帮助菜单
item22=newMenuItem("帮助主题");
item22.addActionListener(this);
item23=newMenuItem("关于记事本");
item23.addActionListener(this);
//
item25=newMenuItem("加密文本");
item25.addActionListener(this);
item26=newMenuItem("解密文本");
item26.addActionListener(this);
//文件菜单项
menu1.add(item1);//开始加载Item项
menu1.add(item2);
menu1.add(item3);
//menu1.add(item4);
menu1.addSeparator();//下划线
menu1.add(item5);
menu1.add(item6);
menu1.addSeparator();
menu1.add(item7);
//编辑菜单项
menu2.add(item8);
menu2.addSeparator();//下划线
menu2.add(item9);
menu2.add(item10);
menu2.add(item11);
menu2.add(item12);
menu2.addSeparator();//下划线
menu2.add(item13);
menu2.add(item14);
menu2.add(item15);
menu2.add(item16);
menu2.addSeparator();//下划线
menu2.add(item17);
menu2.add(item18);
//格式菜单项
menu3.add(item19);
menu3.add(item20);
menu3.add(item24);
//查看菜单项
menu4.add(item21);
//帮助菜单项
menu5.add(item22);
menu5.addSeparator();//下划线
menu5.add(item23);
//
menu6.add(item25);
menu6.add(item26);
//菜单
menubar.add(menu1);
menubar.add(menu2);
menubar.add(menu3);
menubar.add(menu4);
menubar.add(menu6);
menubar.add(menu5);
text=newTextArea();//加载文本区
add(text);
setMenuBar(menubar);菜单项加载结束
setVisible(true);
addWindowListener(this);
setResizable(false);
//实现打开保存对话框
filedialog_save=newFileDialog(this,"保存文件话框",FileDialog.SAVE);“打开”“保存”对话框的创建及实现
filedialog_load=newFileDialog(this,"打开文件话框",FileDialog.LOAD);
filedialog_save.addWindowListener(newWindowAdapter()//对保存话框增加适配器
{publicvoidwindowClosing(WindowEvente)
{filedialog_save.setVisible(false);
}
});
filedialog_load.addWindowListener(newWindowAdapter()//对打开话框增加适配器
{publicvoidwindowClosing(WindowEvente)
{filedialog_load.setVisible(false);
}
});
}
//事件反应
publicvoidactionPerformed(ActionEvente)
{if(e.getSource()==item7)//结束数据流,实现退出
{System.exit(0);}
//实现调色板的功能
if(e.getSource()==item24)
{
ColornewColor=JColorChooser.showDialog(this,"调色板",text.getBackground());
if(newColor!
=null)
text.setBackground(newColor);
}
//结束
//打开文件
if(e.getSource()==item2)
{filedialog_load.setVisible(true);
text.setText(null);
Strings;
if(filedialog_load.getFile()!
=null)
{try{Filefile=new
File(filedialog_load.getDirectory(),filedialog_load.getFile());实现打开文件的功能将文件读取
file_reader=newFileReader(file);
in=newBufferedReader(file_reader);
while((s=in.readLine())!
=null)
text.append(s+'\n');
in.close();
file_reader.close();
}
catch(IOExceptione2){}
}
}
//实现保存功能
if(e.getSource()==item3)
{filedialog_save.setVisible(true);
if(filedialog_save.getFile()!
=null)
{try{Filefile=new
File(filedialog_save.getDirectory(),filedialog_save.getFile());
tofile=newFileWriter(file);
out=newBufferedWriter(tofile);实现保存功能保存文件
out.write(text.getText(),0,(text.getText()).length());
out.close();
tofile.close();
}
catch(IOExceptione2){}
}
}
if(e.getSource()==item1){text.setText(null);}//新建
if(e.getSource()==item17){text.selectAll();}//全选
if(e.getSource()==item10)
{
s=newString(text.getSelectedText());
StringSelectiontext1=newStringSelection(s);//实现复制功能
clipboard.setContents(text1,null);
}
if(e.getSource()==item9)
{Stringtemp=text.getSelectedText();
StringSelectiontext1=newStringSelection(temp);
clipboard.setContents(text1,null);//实现剪切功能
intstart=text.getSelectionStart();
intend=text.getSelectionEnd();
text.replaceRange("",start,end);}
if(e.getSource()==item11)
{Transferablecontents=clipboard.getContents(this);
DataFlavorflavor=DataFlavor.stringFlavor;
if(contents.isDataFlavorSupported(flavor))//实现粘贴功能
try{s=(String)contents.getTransferData(flavor);
text.append(s);}
catch(Exceptionee){}
}
if(e.getSource()==item9){s=newString(text.getSelectedText());}
if(e.getSource()==item6)
{p=getToolkit().getPrintJob(this,"ok",null);
g=p.getGraphics();
g.translate(120,200);//实现打印功能
text.printAll(g);
g.dispose();
p.end();}
if(e.getSource()==item23)//实现帮助中的关于记事本项
{JOptionPane.showMessageDialog(this,"本记事本所有权归编写员所有\n感谢使用本软件\nQQ:
652781429","JAVA记事本",JOptionPane.INFORMATION_MESSAGE);}
帮助菜单中“关于记事本”
if(e.getSource()==item20)
{Winwin=newWin();
}
if(e.getSource()==item18)//Time
{
Datenowtime=newDate();
Strings;获取当前系统时间将其返回到文本区
s=String.valueOf(nowtime);
text.append(s);
}
if(e.getSource()==item21)//状态栏
{intx,y;
x=text.getCaretPosition();
y=text.getCaretPosition();
System.out.println(x);
Stringa=String.valueOf(x);
}
if(e.getSource()==item12)//删除
{
//text.getSelectedText().delete();将选择内容删除
}
if(e.getSource()==item19)//自动换行
{
//Stringstr=text.getText();
//Dimensiondim=tool.getScreenSize();
//text=newTextArea(width/2,2*dim.height/3-5);
//add(text);
}
if(e.getSource()==item25){MyDialogjmydialog2=newMyDialogj("加密文本");}//加密文本内容
if(e.getSource()==item26){MyDialogjmmydialogjm=newMyDialogjm("解密文本");}//解密文本内容
if(e.getSource()==item13||e.getSource()==item14){mydialog=newMyDialog(this,"查找",true);}//查找
//if(e.getSource()==item14){mydialog=newMyDialog(this,"查找",true);}//查找下一个
if(e.getSource()==item15){}//替换
if(e.getSource()==item16){}//转到
}
publicvoidwindowActivated(WindowEvente)
{validate();}
publicvoidwindowDeactivated(WindowEvente)
{validate();}
publicvoidwindowClosing(WindowEvente)
{dispose();}
publicvoidwindowClosed(WindowEvente)实现窗口事件的相关操作
{System.exit(0);}
publicvoidwindowIconified(WindowEvente){}
publicvoidwindowDeiconified(WindowEvente)
{validate();}
publicvoidwindowOpened(WindowEvente){}
}
//classZhuanextendsFrameimplements
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 实习 编程 代码 记事本