java 记事本本源代码.

本文介绍了一个简单的Java编辑器的设计与实现,包括文件打开、保存、颜色设置等功能,并实现了基本的剪切、复制、粘贴操作。此外,还提供了关于系统资源信息的查询功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. //handel.java
  2. package abc.jdm;
  3. import abc.jdm.*;
  4. import java.awt.Color;
  5. import java.awt.PrintJob;
  6. import java.awt.*;
  7. import java.awt.event.*;
  8. import javax.swing.*;
  9. import java.io.*;
  10. import javax.print.*;
  11. import sun.rmi.runtime.GetThreadPoolAction;
  12. import java.awt.datatransfer.*; 
  13. public class handel {
  14.     public String test(String txt){
  15.         return txt.toString();
  16.     }
  17. }
  18. class newfile extends Thread implements ActionListener{
  19.     public void actionPerformed(ActionEvent e){
  20.         new newfile().start();
  21.         }
  22.     public void run(){
  23.         new MyFrame();
  24.     }
  25. }
  26. class savefile implements ActionListener{
  27.     public void actionPerformed(ActionEvent e){
  28.         JFileChooser jfile=new JFileChooser();
  29.         jfile.setFileFilter(new javax.swing.filechooser.FileFilter() {
  30.                public boolean accept(File f) { //设定可用的文件的后缀名
  31.                  if(f.getName().endsWith(".java")||f.isDirectory()){
  32.                    return true;
  33.                  }
  34.                  return false;
  35.                }
  36.                public String getDescription() {
  37.                  return "文本文件(*.txt)";
  38.                }
  39.              });
  40.         int result=jfile.showSaveDialog(null);
  41.         if(result==JFileChooser.APPROVE_OPTION){
  42.             
  43.             
  44.             File dir=jfile.getCurrentDirectory();
  45.             File file=jfile.getSelectedFile();
  46.             write(new File(dir,file.getName()),MyFrame.mytext.getText());
  47.         }
  48.         if(result==JFileChooser.CANCEL_OPTION){
  49.             
  50.         }
  51.     }
  52.     public void write(File file,String str){
  53.         try{
  54.             PrintWriter write=new PrintWriter(new OutputStreamWriter(new FileOutputStream(file),"GBK"));
  55.             write.println(str);
  56.             write.close();
  57.         }
  58.         catch(IOException e){
  59.             throw new RuntimeException(e);
  60.         }
  61.     }
  62.     
  63. }
  64. //
  65. class quitframe implements ActionListener{
  66.     public void actionPerformed(ActionEvent e){
  67.         
  68.         String a=MyFrame.mytext.getText();
  69.         if(a==""){
  70.         System.exit(0);}
  71.         else{
  72.             int result=JOptionPane.showConfirmDialog(null,"文件尚未保存,你决定要退出吗?");
  73.         if(result==JOptionPane.OK_OPTION)
  74.             System.exit(0);
  75.         else
  76.             MyFrame.mytext.setText(a);
  77.         }
  78.         
  79.     }
  80.     
  81. }
  82. //
  83. class about implements ActionListener{
  84.     public void actionPerformed(ActionEvent e){
  85.         JOptionPane.showMessageDialog(null,"该软件由java编写,开发平台为myeclipse /n 希望大家多多支持!/t 孟德军","关于",JOptionPane.INFORMATION_MESSAGE);
  86.     }
  87. }
  88. //
  89. class openfile implements ActionListener{
  90.     public void actionPerformed(ActionEvent e){
  91.         
  92.         JFileChooser jfile=new JFileChooser();
  93.         jfile.setFileFilter(new javax.swing.filechooser.FileFilter() {
  94.                public boolean accept(File f) { //设定可用的文件的后缀名
  95.                  if(f.getName().endsWith(".java")||f.isDirectory()){
  96.                    return true;
  97.                  }
  98.                  return false;
  99.                }
  100.                public String getDescription() {
  101.                  return "文本文件(*.txt)";
  102.                }
  103.              });
  104.         int result=jfile.showOpenDialog(null);
  105.         if(result==JFileChooser.APPROVE_OPTION){
  106.             File dir=jfile.getCurrentDirectory();
  107.             File file=jfile.getSelectedFile();
  108.             MyFrame.mytext.setText(read(new File(dir,file.getName())));
  109.             //new MyFrame().mytext.setText(t)
  110.         }
  111.         if(result==JFileChooser.CANCEL_OPTION){
  112.             
  113.         }
  114.     }
  115.     //
  116.     public String read(File file){
  117.         try{
  118.             BufferedReader read=new BufferedReader(new InputStreamReader(new FileInputStream(file),"GBK"));
  119.             String data=null;
  120.             StringBuffer buffer=new StringBuffer();
  121.             while((data==read.readLine())){
  122.                 buffer.append(data+"/n");
  123.                 read.close();
  124.             }
  125.             return buffer.toString();
  126.         }
  127.         catch(IOException e){
  128.             throw new RuntimeException(e);
  129.         }
  130.         
  131.     }
  132. }//
  133. //color set
  134. class colorset implements ActionListener{
  135.     public void actionPerformed(ActionEvent e)
  136.       {
  137.      //显示颜色对话框
  138.         
  139.      Color newcolor=JColorChooser.showDialog(null"颜色设置",null);
  140.         MyFrame.mytext.setBackground(newcolor);
  141.      
  142.       }
  143.     
  144.     }
  145. class printframe implements ActionListener{
  146.     public void actionPerformed(ActionEvent e){
  147.         /*PrintService service;
  148.         java.awt.PrintJob b;
  149.         */
  150.         
  151.         
  152.     }
  153.     
  154. }
  155. class all extends Frame implements ActionListener{
  156.     public void actionPerformed(ActionEvent e){
  157.         
  158.         
  159.         Clipboard clipboard=null
  160.         clipboard=getToolkit().getSystemClipboard();//获取系统剪贴板。
  161.         if(e.getActionCommand()=="复制"){
  162.         String temp=MyFrame.mytext.getSelectedText(); //拖动鼠标选取文本。 
  163.         StringSelection text=new StringSelection(temp); 
  164.         clipboard.setContents(text,null); 
  165.         }
  166.         else if(e.getActionCommand()=="粘贴"){
  167.             Transferable contents=clipboard.getContents(this); 
  168.             DataFlavor flavor= DataFlavor.stringFlavor; 
  169.             if( contents.isDataFlavorSupported(flavor)) 
  170.             try{ String str; 
  171.             str=(String)contents.getTransferData(flavor); 
  172.             MyFrame.mytext.append(str); 
  173.             }
  174.             catch(Exception x){
  175.             
  176.             }
  177.             //
  178.             else if(e.getActionCommand()=="剪切"){
  179.                  String temp=MyFrame.mytext.getSelectedText(); //拖动鼠标选取文本。 
  180.                 StringSelection text=new StringSelection(temp); 
  181.                 clipboard.setContents(text,null); 
  182.                 int start=MyFrame.mytext.getSelectionStart(); 
  183.                 int end =MyFrame.mytext.getSelectionEnd(); 
  184.                 MyFrame.mytext.replaceRange("",start,end) ; //从Text1中删除被选取的文本。 
  185.                  
  186.             }
  187.             else if(e.getActionCommand()=="全选"){
  188.                 String alltemp=MyFrame.mytext.toString();
  189.                 StringSelection alltext=new StringSelection(alltemp);
  190.                 clipboard.getContents(alltext);
  191.             }
  192.             }
  193.     } 
  194.         
  195. }
  196. class display implements ActionListener{
  197.     public void actionPerformed(ActionEvent e){
  198.         new search();
  199.     }
  200. }
  201. class osinfo implements ActionListener{
  202.     public void actionPerformed(ActionEvent e){
  203.         Runtime rt = Runtime.getRuntime();
  204.         JOptionPane.showConfirmDialog(null,"剩余内存:  "+rt.freeMemory()+" KB"+"/n"+"总内存:  "+rt.totalMemory()+" KB","系统信息",
  205.                 JOptionPane.OK_OPTION,
  206.                 JOptionPane.WARNING_MESSAGE);
  207.     }
  208.     
  209. }
 
java写windows记事本源代码,具体功能如下: 1.文件(F) 可以通过点击菜单或快捷键(alt + F)打开菜单页 1.1新建(N) 菜单内点击或助记符N或快捷键(ctrl + N) 点击后弹出对话框,询问是否保存到***.txt? 点击保存(S):保存文本并关闭,再新建新的文本 点击不保存(N):不保存文本并关闭,再新建新的文本 点击取消:取消新建操作 1.2打开(O) 菜单内点击或助记符O或快捷键(ctrl + O) 点击后弹出对话框,询问是否保存到***.txt? 点击保存(S):保存文本,弹出选择文件对话框 点击不保存(N):不保存文本,弹出选择文件对话框 ==》选择文件对话框: 选择打开(O):就打开新的文本 选择取消:取消打开操作,返回原文本 点击取消:取消打开操作 1.3保存(S) 菜单内点击或助记符S或快捷键(ctrl + S) 点击后保存文本内容 1.4另存为(A) 菜单内点击或助记符A 点击后打开另存为对话框,选择路径和设置文件名 选择保存(S):就会在该路径保存文本,原文本内容不会保存并关闭,打开另存的文本 取消:取消另存为操作,返回原文本 1.5页面设置(U)(只实现页面边距,其他未实现) 菜单内点击或助记符U 点击后打开页面设置对话框:可以设置一下内容 纸张:大小(Z)、来源(S) 方向:纵向(O)、横向(A) 页面边距(毫米):左(L)右(R)上(T)下(B) 页眉(H)、页脚(F)、预览:(图片) 选择确定:保存新的页面设置 选择取消:取消页面设置 1.6打印(P)(改功能未完全实现,使用可能会报错) 菜单内点击或助记符P或快捷键(ctrl + P) 点击后弹出打印对话框 1.7退出(X) 菜单内点击或助记符X 点击后退出本文本文件 2.编辑(E) 可以通过点击菜单或快捷键(alt + E)打开菜单页 2.1撤销(U) 菜单内点击或助记符U或快捷键(ctrl + Z) 响应后返回上一步操作 2.2剪切(T) 菜单内点击或助记符T或快捷键(ctrl + X) 响应后光标选中的内容提取到剪贴板,并删除该内容,光标定位在元初识位置 2.3复制(C) 菜单内点击或助记符C或快捷键(ctrl + C) 响应后光标选中内容提取到剪贴板,光标位置保持不变 2.4粘贴(P) 菜单内点击或助记符P或快捷键(ctrl + V) 响应后光标选中的内容被替换为剪贴板的内容,光标选中刚刚粘贴的内容 2.5删除(L) 菜单内点击或助记符L或快捷键(DEL) 响应后删除光标选中的内容 2.6查找(F) 菜单内点击或助记符F或快捷键(ctrl + F) 响应后弹出查找对话框:输入查找的内容,可以选择区分大小写和选择查找的方向 点击查找之后光标会选中响应的查找内容,没找到会弹出找不到对话框 2.7查找下一个(N) 菜单内点击或助记符N或快捷键(F3) 查找框有内容就直接查找贯标位置以后的内容,查找框没有内容直接弹出查找框 2.8替换(R) 菜单内点击或助记符R或快捷键(ctrl + H) 弹出替换对话框,有全部替换和替换当前两种 当前替换:替换光标选中的内容,光标移动到下一个查找内容上 2.9转到(G) 菜单内点击或助记符G或快捷键(ctrl + G) 在自动换行未选中的情况下,点击之后弹出转到指定行对话框 2.10全选(A) 菜单内点击或助记符A或快捷键(ctrl + A) 响应后选中全部文本内容 2.11时间/日期(D) 菜单内点击或助记符D或快捷键(F5) 在光标选中的内容里修改为当前时间 3.格式(O) 可以通过点击菜单或快捷键(alt + O)打开菜单页 3.1自动换行(W) 菜单内点击或助记符W 选中后,文本会自动换行,且不能点击查看状态栏和转到菜单 3.2字体(F) 菜单内点击或助记符F 弹出字体对话框:可以选择字体(F)、字形(Y)大小(S) 拥有示例和选择脚本,确定后更改全部字体 4.查看(V) 可以通过点击菜单或快捷键(alt + V)打开菜单页 4.1状态栏(S) 菜单内点击或助记符S 在底部会显示光标的起始坐标,第几行第几列 5.帮助(H) 可以通过点击菜单或快捷键(alt + H)打开菜单页 5.1查看帮助(H) 菜单内点击或助记符H 点击弹出帮助文本 5.2关于记事本(A)、 菜单内点击或助记符A 点击弹出关于记事本的对话框 显示它的本信息
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值