Java设计文本编辑器

Java设计文本编辑器阿乐今天敲代码没 Java 设计文本编辑器前言一 实现功能二 扼要代码 1 界面程序设计 2 文件菜单设计 3 编辑菜单栏设计 4 格式菜单栏设计运行截图前言利用 Java 设计一个文本编辑器 提示 以下是本篇文章正文内容 下面案例可供参考一 实现功能该简易记事本主要可实现以下几个功能 1 菜单中有 文件 编辑 格式 三个主菜单 2 文件 有 打开 保存 退出 三个子菜单 分别用于打开文件 保存文件 退出记事本 3 编辑 中有 剪切 复制 粘贴 三个子菜单 用于剪

@阿乐今天敲代码没


前言

利用Java设计一个文本编辑器。


提示:以下是本篇文章正文内容,下面案例可供参考

一、实现功能

该简易记事本主要可实现以下几个功能:
(1)菜单中有“文件”、“编辑”、“格式”三个主菜单。
(2)“文件”有“打开”、“保存”、“退出”三个子菜单:分别用于打开文件,保存文件,退出记事本。
(3)“编辑”中有“剪切”、“复制”、“粘贴”三个子菜单:用于剪切文字,复制文字,粘贴文字操作。
(4)“格式”中有“自动换行”,“取消自动换行”,“断行不断字”, “取消断行不断字”四个子菜单,分别用于设置是否自动换行等。
用户可根据需求选择是否是用鼠标右键进行一系列的编辑操作,进一步体验记事本的性能。




二、扼要代码

1.界面程序设计

创建一个下拉菜单和文本域,在文本域中显示编辑的文件内容。 private JPopupMenu pm; private JMenuItem item1,item2,item3,item4,item5; public Nodepad() { 
      super("简单记事本"); setSize(400,300); try{ 
      UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); } catch (Exception e){ 
      System.err.println("不能被设置外观的原因:"+e);} c=getContentPane(); //创建一个内容面板  editor = new JTextArea(); //创建一个文本区 c.add(new JScrollPane(editor)); //设置滚动条,并添加到内容面板  —————————————————————————————— //弹出菜单的实现  pm =new JPopupMenu(); //创建弹出菜单  item1 = new JMenuItem("打开"); item2 = new JMenuItem("保存"); item3 = new JMenuItem("复制"); item4 = new JMenuItem("剪切"); item5 = new JMenuItem("粘贴"); JPHandler JP=new JPHandler(); item1.addActionListener(JP); //注册菜单项的鼠标事件监听器  item2.addActionListener(JP); item3.addActionListener(JP); item4.addActionListener(JP); item5.addActionListener(JP); editor.addMouseListener(JP); //注册文本区的鼠标事件监听器  pm.add(item1); pm.add(item2); pm.add(item3); pm.add(item4); pm.add(item5); //把菜单栏、工具栏、弹出菜单添加到内容面板  setJMenuBar(mb); //显示菜单栏  c.add(toolBar,BorderLayout.NORTH); setVisible(true); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } 

2.文件菜单设计

//文件菜单的实现  mb = new JMenuBar(); //创建菜单栏 fileMenu = new JMenu("文件(F)");//创建菜单 fileMenuOpen = new JMenuItem("打开(O)...Ctrl+O"); fileMenuSave = new JMenuItem("保存(S)...Ctrl+S"); fileMenuExit = new JMenuItem("退出"); JMHandler JM=new JMHandler(); //创建监听器 fileMenuOpen.addActionListener(JM); //注册监听器 fileMenuSave.addActionListener(JM); fileMenuExit.addActionListener(JM); fileMenu.add(fileMenuOpen); fileMenu.add(fileMenuSave); fileMenu.addSeparator(); //添加分隔线  fileMenu.add(fileMenuExit); fileMenu.setFont(f); //设置菜单中文体的字体 

3.编辑菜单栏设计

//编辑菜单的实现  editMenu = new JMenu("编辑(E)"); editMenuCopy = new JMenuItem("复制(C) Ctrl+C"); editMenuCut = new JMenuItem("剪切(T) Ctrl+X"); editMenuPaste = new JMenuItem("粘贴(P) Ctrl+v"); EMHandler EM=new EMHandler(); //创建监听器 editMenuCopy.addActionListener(EM);//注册监听器  editMenuCut.addActionListener(EM); editMenuPaste.addActionListener(EM); editMenu.add(editMenuCopy); editMenu.add(editMenuCut); editMenu.add(editMenuPaste); editMenu.setFont(f); 

4.格式菜单栏设计

//格式菜单的实现  formatMenu = new JMenu("格式(O)"); //创建菜单  formatSet = new JMenu("格式设置"); //二级菜单  lineWrap = new JMenuItem("自动换行"); //二级菜单项  cancleLineWrap = new JMenuItem("取消自动换行"); wrapStyleWord = new JMenuItem("断行不断字"); cancleWrapStyleWord = new JMenuItem("取消断行不断字"); FMHandler FM=new FMHandler(); //创建事件监听器  lineWrap.addActionListener(FM); //注册二级菜单项的监听器 cancleLineWrap.addActionListener(FM); wrapStyleWord.addActionListener(FM); cancleWrapStyleWord.addActionListener(FM); formatSet.add(lineWrap); formatSet.add(cancleLineWrap); formatSet.addSeparator(); //添加分隔线 formatSet.add(wrapStyleWord); formatSet.add(cancleWrapStyleWord); formatMenu.add(formatSet); formatMenu.setFont(f); //将菜单全部添加菜单棒里 mb.add(fileMenu); mb.add(editMenu); mb.add(formatMenu); 

运行截图

文本编辑器

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/233713.html原文链接:https://javaforall.net

(0)
上一篇 2025年6月27日 下午2:01
下一篇 2025年6月27日 下午2:22


相关推荐

  • oracle客户端配置监听_oracle11g客户端配置

    oracle客户端配置监听_oracle11g客户端配置1、环境介绍操作系统:windows10专业版oracle版本:19coracle客户端版本:19.3oracle客户端下载地址:https://www.oracle.com/database/technologies/oracle19c-windows-downloads.html2、运行软件包中setup.exe进行安装3、使用sqlplus连接数据库sqlplus用户名/密码@服务器/服务名sqlplusdebezium/Smtgbk_123@10.99.99.20

    2025年7月29日
    7
  • 实用的sublime插件集合 – sublime推荐必备插件

    实用的sublime插件集合 – sublime推荐必备插件插件介绍PackageControl功能:安装包管理简介:sublime插件控制台,提供添加、删除、禁用、查找插件等功能使用:https://sublime.wbond.net/installation安装方法:CTRL+`,出现控制台粘贴以下代码至控制台ST2:1

    2022年6月24日
    29
  • vim 查找字符串「建议收藏」

    vim 查找字符串「建议收藏」在命令模式下输入/然后输入你需要查找的字符串即可。见下图:  可以使用n继续向下查找下一个名称为job的字符串。  可以使用N向上查找名称为job的字符串。  但每次查找完成后高亮并不会消失,可以在命令行模式输入:nohlsearch或者:noh,也可以输入:setnohlsearch,设置不用高亮查询会让你的查询不会高亮显示,如果需要高亮显示可以输入:sethlsearch。…

    2022年6月17日
    155
  • java面向切面编程

    java面向切面编程面向切面在英文中的单词是 AspectOrient AOP 在 spring 框架中叫 aop 它是可以通过预编译方式和运行期动态代理实现在不修改源代码的情况下给程序动态统一添加功能的一种技术 它是一种新的方法论 它是对传统 OOP 编程的一种补充 AOP 技术是建立在 Java 语言的反射机制与动态代理机制之上的 请看下图以上图是利用 jdk 动态代理为真实对象上的

    2026年3月16日
    1
  • Java操作XML文件

    Java操作XML文件目录一、使用DOM4j进行XML的DOM解析1.1、使用DOM4j查询XML文档1.2、使用DOM4j修改XML文档1.3、使用xPath技术二、使用SAX方式解析XML文档2.1、使用SAX解析方式查询XML文档2.2、对比DOM解析和SAX解析Java中有两种解析XML文件的方式:DOM解析和SAX解析。一、使用DOM4j进行XML的DOM解析…

    2022年7月7日
    19
  • 永恒之蓝封445端口方法_永恒之蓝病毒解决方法

    永恒之蓝封445端口方法_永恒之蓝病毒解决方法补丁下载地址http://www.catalog.update.microsoft.com/search.aspx?q=kb4012212下载第二个,33.2M的那个,然后安装,并重启。然后,封445端口新建两个文件:block_445.reg内容为:WindowsRegistryEditorVersion5.00[HKEY_LOCAL_MACHINE…

    2022年10月17日
    7

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号