用Java编写的记事本程序(2)

2016-02-19 20:04 8 1 收藏

生活已是百般艰难,为何不努力一点。下面图老师就给大家分享用Java编写的记事本程序(2),希望可以让热爱学习的朋友们体会到设计的小小的乐趣。

【 tulaoshi.com - 编程语言 】

public void frame_windowclose_windowClosing(WindowListener e){
  this.close();
  }
  /////////////////////////////////////////////////////////
  public void text_mouseClicked(MouseEvent e){
  if(e.getModifiers()==InputEvent.BUTTON3_MASK){
  pop.show((Component)e.getSource(),e.getX(),e.getY());
  }
  }
  public void text_ancestorAdded(AncestorEvent e){
  this.dirty=false;
  this.newtext();
  }
  public void text_caretUpdate(CaretEvent e)
  {
  this.dirty=true;
  //this.statubar.setText(this.text.getText());
  }
  ///////////// File /////////////////////////////////////
  public void File_open_actionPerformed(ActionEvent e){
  //打开的事件
  this.opentext();
  }
  
  public void File_new_actionPerformed(ActionEvent e){
  ///新建的事件
  this.newtext();
  }
  
  public void File_save_actionPerformed(ActionEvent e){
  //保存的事件
  this.save();
  }
  
  public void File_saveas_actionPerformed(ActionEvent e){
  //另存为
  this.saveas();
  }
  public void File_quite_actionPerformed(ActionEvent e){
  this.close();
  }
  ////////////////// Edit /////////////////////////////////////
  public void Edit_undo_actionPerformed(ActionEvent e){
  //撤销
  this.undo();
  }
  public void Edit_cut_actionPerformed(ActionEvent e){
  //剪切
  this.cut();
  }
  public void Edit_copy_actionPerformed(ActionEvent e){
  //复制
  this.copy();
  }
  public void Edit_paste_actionPerformed(ActionEvent e){
  //粘贴
  this.paste();
  }
  public void Edit_delete_actionPerformed(ActionEvent e){
  //删除
  this.delete();
  }
  public void Edit_find_actionPerformed(ActionEvent e){
  //查找
  int cu=this.text.getCaretPosition();
  int end=this.text.getText().length();
  FindDlg fd=new FindDlg(frame,"查找",true);
  fd.show();
  String str=fd.getFindStr().trim();
  
  
  if(fd.getFlag()){
  this.nextFindStr(str,cu,end);
  }else{
  this.upFindStr(str,cu);
  }
  
  }
  public void Edit_replace_actionPerformed(ActionEvent e){
  //替换
  int cu=this.text.getCaretPosition();
  int end=this.text.getText().length();
  ReplaceDlg rd=new ReplaceDlg(frame,"替换",true);
  rd.show();
  this.replaceStr(rd.findStr().trim(),rd.replaceStr().trim(),cu,end);
  }
  public void Edit_selectall_actionPerformed(ActionEvent e){
  //全选
  this.text.setSelectionStart(0);
  this.text.setSelectionEnd(this.text.getText().length());
  }
  public void Edit_timedate_actionPerformed(ActionEvent e){
  //时间日期
  SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  this.text.append("当前时间:"+sdf.format(new Date()));
  }
  ///////////// Format//////////////////////////////////////
  public void Format_Word_actionPerformed(ActionEvent e){
  //自动换行
  if(!this.text.getLineWrap()){
  this.text.setLineWrap(true);
  }
  else{
  this.text.setLineWrap(false);
  
   }
  }
  public void Format_font_actionPerformed(ActionEvent e){
  //字体"常规","斜体","粗体","粗斜体"
  Font cur=this.text.getFont();
  int type=Font.BOLD;
  FontSet fs=new FontSet(frame,"字体设置",true);
  fs.show();
  if(fs.flag){
  switch(fs.font2()){
  case 0:type=Font.PLAIN;break;
  case 1:type=Font.99vALIC;break;
  case 2:type=Font.BOLD; break;
  case 3:type=Font.ROMAN_BASELINE;break;
  default:type=Font.PLAIN;break;
  }
  Font f=new Font(fs.font1(),type,16);
  this.text.setFont(f);
  }else{
  this.text.setFont(cur);
  }
  }
  public void Format_color_actionPerformed(ActionEvent e){
  // 颜色
  Color current=this.text.getForeground();
  this.jColor.setColor(current);
  this.text.setForeground(
  this.jColor.showDialog(text,"选择颜色",current));
  
  }
  //////////////////// Help /////////////////////////////////////
  public void Help_about_actionPerformed(ActionEvent e){
  //关于作者
  new AboutDlg();
  }
  ////////////////////////////////////////////////////////
  public void pop_undo_actionPerformed(ActionEvent e){
  //Pop undo
  this.undo();
  }
  public void pop_cut_actionPerformed(ActionEvent e){
  //pop cut
  this.cut();
  }
  public void pop_copy_acionPerformed(ActionEvent e){
  //pop copy
  this.copy();
  }
  public void pop_paste_actionPerformed(ActionEvent e){
  //pop paste
  this.paste();
  }
  public void pop_delete_actionPerformed(ActionEvent e){
  //pop delete
  this.delete();
  }
  
  /************************************************************
  /////////////////////////////////////////////////////////////
  ////////////// coustm function ///////////////////////////////
  /////////////////////////////////////////////////////////////
  ************************************************************/
  
  void close(){
  
  if(this.dirty){
  Dlgtext Dt=new Dlgtext(frame,"提示",true);
  Dt.show();
  if(Dt.getCheck()){
  this.save();
  }
  else {
  frame.dispose();
  System.exit(0);
  }
  }else{
  frame.dispose();
  System.exit(0);
  
  }
  }
  void newtext(){//新建
  if((!this.dirty)(!this.saveas())){
  this.text.setText("");
  this.text.setFocusable(true);
  this.frame.setTitle("未命名-----Author:Jeason");
  this.statubar.setText("新建文本");
  }
  else this.saveas();
  }
  
  void opentext(){//打开
  //
  String strFileOpen="";
  if(!this.dirty){
  try{
  if(this.jFileChooser1.APPROVE_OPTION==
  this.jFileChooser1.showOpenDialog(frame)){
  strFileOpen=this.jFileChooser1.getSelectedFile().getPath();
  
  File file=new File(strFileOpen);
  int flength=(int)file.length();
  int num=0;
  FileReader fReader=new FileReader(file);
  char[] data=new char[flength];
  while(fReader.ready()){
  num+=fReader.read(data,num,flength-num);
  }
  fReader.close();
  this.text.setText(new String(data,0,num));
  this.filename=strFileOpen;
  this.frame.setTitle(this.filename);
  
   this.statubar.setText("Open File:"+this.filename);
  this.dirty=false;
  }else
  {
  return ;
  }
  }catch(Exception e){
  this.statubar.setText("Error Open:"+e.getMessage());
  }
  }else{
  this.save();
  }
  }
  boolean save(){//保存
  if(this.dirty){
  if(this.filename.length()!=0){
  try{
  File saveFile=new File(this.filename);
  
  FileWriter fw=new FileWriter(saveFile);
  fw.write(this.text.getText());
  fw.close();
  this.dirty=false;
  this.statubar.setText("保存文件:"+this.filename);
  return true;
  }catch(Exception e)
  {
  this.statubar.setText("保存出错: "+e.getMessage());
  return false;
  }
  }else{
  return this.saveas();
  }
  }else{
  return true;
  }
  }
  
  boolean saveas(){//另存为
  if(this.jFileChooser1.APPROVE_OPTION==this.jFileChooser1.showSaveDialog(frame)){
  this.filename=this.jFileChooser1.getSelectedFile().g

来源:https://www.tulaoshi.com/n/20160219/1622691.html

延伸阅读
标签: 浏览器
傲游浏览器记事本怎么用?   傲游浏览器记事本怎么用?新版的傲游浏览器新增在线记事本,有了在线记事本我们就可以方便记录自己每天的工作以及保存在工作中需要保存的重要文件了,下面我们来学下傲游在线笔记本用法。 傲游浏览器记事本怎么用 傲游在线笔记本用法 第一步:打开傲游浏览器,在浏览器的右上角的工具栏上找到向...
1.新建一个记事本,取名最好是英文与数字的组合(这是一个站长必须养成的好习惯)。 2.打开该记事本,将特效内容粘贴进去,然后按菜单上的“文件→另存为”,保存类型选择“所有文件”,然后给网页改个名比如uu.html。 3.不要关闭记事本,用IE打开uu.html直接查看效果。 这样做的好处是显而易见的,当我们觉得网页特效的效果不佳需要修改的话...
乐记事记事本怎么添加星标   乐记事记事本添加星标方法。在乐记事里面添加了记事,比较重要但是怕忘记了事情?没关系,可以给记事本添加星标,那么要怎么添加星标呢?现在小编就教大家乐记事记事本添加星标方法。 1)点击打开,点击打开要添加星标的日记; 2)点击右上角的,然后点击即可。
方形邮票自然地版面分区 比如左边贴了一张邮票后,就自动生成一块空白。当然也可以写满。我的用法是页面自动分成两栏,邮票右边就是主要的文字,左侧的空白则可以用来写一些小批注等,或者先不写也可以,因为我喜欢留出空白给以后回顾手帐的时候写东西。 一套邮票贴在一起 一套邮票一般是有整体性的,比如色彩、图案风格等等,...
用VB做一个记事本实在不很复杂,我们完全可以通过向导来很方便地做出来。但本文只打算讨论用手动方法制作记事本,旨在向VB初学者展示:学VB原来是如此容易! 通过阅读、研究本文并按本文所述进行尝试,初学者将学到很多东西,如怎样使用RichText控件来打开和保存文件,怎样制作菜单、工具栏和状态栏以及如何对其编写代码等。 第一章...

经验教程

282

收藏

11
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部