⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 notepad3.java

📁 用JAVA编的仿WINDOWS的记事本源码
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
    else if(option==1)  //若用户单击了"否"刚直接退出当前程序
    {
     System.exit(0);
    }
   }
   else   //若当前文本为空则直接退出
   {
    System.exit(0);
   }
 }
 public void windowClosed(WindowEvent e)
 {
 
 }
 public void windowIconified(WindowEvent e)
 {
 
 }
 public void windowDeiconified(WindowEvent e)
 {
 
 }
 public void windowActivated(WindowEvent e)
 {
 
 }
 public void windowDeactivated(WindowEvent e)
 {
 
 }
 public void actionPerformed(ActionEvent e)
 {
  if(e.getSource()==menuitem11)
  {
   new NotePad3();
  }
  else if(e.getSource()==menuitem12)  //打开文件
  {
   openFile(); 
  }
  else if(e.getSource()==menuitem13)  //保存文件
  {
   saveFile();
  }
  else if(e.getSource()==menuitem14)  //另存为文件
  {
   chooser=new JFileChooser();
   chooser.showDialog(this,"另存为");
   path=chooser.getSelectedFile().getPath();
   try   
            {   
    BufferedWriter buff=new BufferedWriter(new FileWriter(path)); 
    String str = text.getText(); 
    buff.write(str, 0, text.getText().length());
    buff.close();  
    this.setTitle(path);
            }   
            catch(FileNotFoundException e1)
            {
                JOptionPane.showMessageDialog(null,"保存失败!");
            }   
            catch(IOException e2)
            {
    JOptionPane.showMessageDialog(null,"保存失败!");
            }  
  }
  else if(e.getSource()==menuitem15)    //改变当前模式:  "只读模式(R)"->"编辑模式(E)"
  {
   if(menuitem15.getText()=="只读模式(R)")
   {
    text.setEditable(false);
    menuitem15.setText("编辑模式(E)");
    lab_statusBar1.setText("浏览");
   }
   else 
   {
    text.setEditable(true);
    menuitem15.setText("只读模式(R)");
    lab_statusBar1.setText("编辑");
   }
  }
  else if(e.getSource()==menuitem16)  //退出操作
  {
   if(text.getText().length()>0)  //当文本非空时,做如下处理
   {
    Object[] options = { "OK", "CANCEL" };
    int option=JOptionPane.showOptionDialog(null, "是否保存当前文档", "提示", 
            JOptionPane.YES_OPTION, JOptionPane.WARNING_MESSAGE,
            null, options, options[0]);
            
    if(option==0)  //若用户单击了保存,则弹出保存对话框让用户保存当前文档,然后退出当前程序
    {
     saveFile();
     System.exit(0); 
    }
    
    else if(option==1)  //若用户单击了"否"刚直接退出当前程序
    {
     System.exit(0);
    }
   }
   else   //若当前文本为空则直接退出
   {
    System.exit(0);
   }
  }
  else if(e.getSource()==menuitem21)  //"撤销"操作
  {
   
   step[0]=true;
   for(int i=1;i<10;i++)
   {
    step[i]=false;
   }
  }
  else if(e.getSource()==menuitem22)  //"重复"操作
  {
   //如果满足下面条件就复当前操作
   if(step[0])  //若上一步是"撤消"操作
   {
   
   }
   else if(step[1]) //若上一步是"剪切"操作
   {
    text.cut();
   }
   else if(step[2]) //若上一步是"复制"操作
   {
    text.copy();
   }
   else if(step[3])  //若上一步是"全部复制"操作
   {
    setClipboardText(cb,text.getText());
   }
   else if(step[4])  //若上一步是"粘贴"操作
   {
    text.paste();
   }
   else if(step[5])  //若上一步是"删除"操作
   {
    text.cut();
   }
   else if(step[6])  //若上一步是"全部删除"操作
   {
    context=text.getText().substring(0,text.getSelectionStart())+text.getText().substring(text.getSelectionEnd(),text.getText().length());
    setClipboardText(cb,text.getSelectedText());
    text.setText(context);
   }
   else if(step[7])  //若上一步是"全选"操作
   {
    text.selectAll();
   }
   else if(step[8])  //若上步是"放大页面"操作
   {
    int h=this.getHeight()+10;
    int w=this.getWidth()+20;
    this.setSize(w,h);
   }
   else if(step[9])  //若上一步是"缩小页面"操作
   {
    int h=this.getHeight()-10;
    int w=this.getWidth()-20;
    this.setSize(w,h);
   }
  }
  else if(e.getSource()==menuitem23)  //"剪切"操作
  {
   text.cut();
   step[0]=false;
   step[1]=true;
   for(int i=2;i<10;i++)
   {
    step[i]=false;
   }
  }
  else if(e.getSource()==menuitem24)   //"复制"操作
  {
   text.copy();
   step[0]=false;
   step[1]=false;
   step[2]=true;
   for(int i=3;i<10;i++)
   {
    step[i]=false;
   }
  }
  else if(e.getSource()==menuitem25)   //"全部复制"操作
  {
   setClipboardText(cb,text.getText());
   step[0]=false;
   step[1]=false;
   step[2]=false;
   step[3]=true;
   for(int i=4;i<10;i++)
   {
    step[i]=false;
   }
  }
  else if(e.getSource()==menuitem26)  // 粘贴操作
  { 
   text.paste();
   step[0]=false;
   step[1]=false;
   step[2]=false;
   step[3]=false;
   step[4]=true;
   for(int i=5;i<10;i++)
   {
    step[i]=false;
   }
  }
  else if(e.getSource()==menuitem27)    //"删除"操作
  {
   text.cut();
   for(int i=0;i<5;i++)
   {
    step[i]=false;
   }
   step[5]=true;
   step[6]=false;
   step[7]=false;
   step[8]=false;
   step[9]=false;
  }
  else if(e.getSource()==menuitem28)  //"全部删除"操作
  {
   setClipboardText(cb,text.getText());
   text.setText("");
   for(int i=0;i<6;i++)
   {
    step[i]=false;
   }
   step[6]=true;
   step[7]=false;
   step[8]=false;
   step[9]=false;
  }
  else if(e.getSource()==menuitem29)  //"全选"操作
  {
   text.selectAll();
   for(int i=0;i<7;i++)
   {
    step[i]=false;
   }
   step[7]=true;
   step[8]=false;
   step[9]=false;
  }
  else if(e.getSource()==menuitem31)   //"放大页面"
  {
      int h=this.getHeight()+10;
   int w=this.getWidth()+20;
   this.setSize(w,h);
   for(int i=0;i<8;i++)
   {
    step[i]=false;
   }
   step[8]=true;
   step[9]=false;
  }
  else if(e.getSource()==menuitem32)   //"缩小页面"
  {
   int h=this.getHeight()-10;
   int w=this.getWidth()-20;
   this.setSize(w,h);
   for(int i=0;i<9;i++)
   {
    step[i]=false;
   }
   step[9]=true;
  }
  else if(e.getSource()==menuitem33)   //"自定义页面"大小
  {
   int w=Integer.parseInt(JOptionPane.showInputDialog(null,"请输入宽度(单位:象素):"));
   int h=Integer.parseInt(JOptionPane.showInputDialog(null,"请输入高度(单位:象素):")); 
   this.setSize(w,h);
  }
  else if(e.getSource()==menuitem41)   //显示工具栏<-->隐藏工具栏
  {
   if(menuitem41.getText()=="显示工具栏(T)")
   {
    toolBar.setVisible(true);
    menuitem41.setText("隐藏工具栏(T)");
   }
   else if(menuitem41.getText()=="隐藏工具栏(T)") 
   {
    toolBar.setVisible(false);
    menuitem41.setText("显示工具栏(T)");
   }
  }
  else if(e.getSource()==menuitem42)   //自定义工具栏
  {
  
  }
  else if(e.getSource()==menuitem43)  //"状态栏显示<---->隐藏"间的切换
  {
   if(menuitem43.getText()=="隐藏状态栏(S)")
   {
    panStatusBar.setVisible(false);
    menuitem43.setText("显示状态栏(S)");
   }
   else if(menuitem43.getText()=="显示状态栏(S)")
   {
    panStatusBar.setVisible(true);
    menuitem43.setText("隐藏状态栏(S)");
   }
  }
  else if(e.getSource()==menuitem44)  //C++编程
  {
   lab_statusBar4.setText("C/C++ Source Code");
  }
  else if(e.getSource()==menuitem45)  //java编程
  {
   lab_statusBar4.setText("Java Source Code");
  }
  else if(e.getSource()==menuitem46)   //设置字体大小
  {
   fontSize=Integer.parseInt(JOptionPane.showInputDialog(null,"请输入字体的大小(单位:象素):"));
  }
  else if(e.getSource()==menuitem51)
  {
   new AboutNote();
  }
  //以下为工具栏中的图标获得焦点时产生的事件
  else if(e.getSource()==bt_new)  //新建文件
  {
  
  }
  else if(e.getSource()==bt_open)  //"打开"文件
  {
   openFile(); 
  }
  else if(e.getSource()==bt_save)   //"保存"文件
  {
   saveFile();
  }
  else if(e.getSource()==bt_expler)  //"浏览"资源管理器
  {
   if(menuitem16.getText()=="只读模式(R)")
   {
    text.setEditable(false);
    menuitem16.setText("编辑模式(E)");
    lab_statusBar1.setText("浏览");
   }
   else 
   {
    text.setEditable(true);
    menuitem16.setText("只读模式(R)");
    lab_statusBar1.setText("编辑");
   }
  }
  else if(e.getSource()==bt_back)   //"撤销"操作
  {
  
  }
  else if(e.getSource()==bt_foward)  //"重复"操作
  {
   //如果满足下面条件就复当前操作
   if(step[0])  //若上一步是"撤消"操作
   {
    
   }
   else if(step[1]) //若上一步是"剪切"操作
   {
    text.cut();
   }
   else if(step[2]) //若上一步是"复制"操作
   {
    text.copy();
   }
   else if(step[3])  //若上一步是"全部复制"操作
   {
    setClipboardText(cb,text.getText());
   }
   else if(step[4])  //若上一步是"粘贴"操作
   {
    text.paste();
   }
   else if(step[5])  //若上一步是"删除"操作
   {
    text.cut();
   }
   else if(step[6])  //若上一步是"全部删除"操作
   {
    context=text.getText().substring(0,text.getSelectionStart())+text.getText().substring(text.getSelectionEnd(),text.getText().length());
    setClipboardText(cb,text.getSelectedText());
    text.setText(context);
   }
   else if(step[7])  //若上一步是"全选"操作
   {
    text.selectAll();
   }
   else if(step[8])  //若上步是"放大页面"操作
   {
    int h=this.getHeight()+10;
    int w=this.getWidth()+20;
    this.setSize(w,h);
   }
   else if(step[9])  //若上一步是"缩小页面"操作
   {
    int h=this.getHeight()-10;
    int w=this.getWidth()-20;
    this.setSize(w,h);
   }
  }
  else if(e.getSource()==bt_cut)   //"剪切"操作
  {
   text.cut();
   step[0]=false;
   step[1]=true;
   for(int i=2;i<10;i++)
   {
    step[i]=false;
   }
  }
  else if(e.getSource()==bt_copy)   //"复制"操作
  {
   text.copy();
   step[0]=false;
   step[1]=false;
   step[2]=true;
   for(int i=3;i<10;i++)
   {
    step[i]=false;
   }
  }
  else if(e.getSource()==bt_paste)   //"粘贴"操作
  {
   text.paste();
   step[0]=false;
   step[1]=false;
   step[2]=false;
   step[3]=false;
   step[4]=true;
   for(int i=5;i<10;i++)
   {

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -