返回顶部
首页 > 资讯 > 后端开发 > Python >教你用JAVA写文本编辑器(一)
  • 542
分享到

教你用JAVA写文本编辑器(一)

2024-04-02 19:04:59 542人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

目录前言思路分析:具体实现总结前言 这里用swing ,awt写的。 我们大概要做成一个电脑的记事本那样的一个编辑器。可以调整字体,字号,颜色。能够打开、保存文件,新建窗口,点击退出

前言

这里用swing ,awt写的。

我们大概要做成一个电脑的记事本那样的一个编辑器。可以调整字体,字号,颜色。能够打开、保存文件,新建窗口,点击退出,还有一个关于介绍的窗口。整体看起来功能不是很多,只要一部分一部分的去完成就很好办了。

思路分析:

一、首先我们的目标模型就是电脑的记事本,打开编辑器可以看到结构:

1、标题显示在窗口的title。

2、下面一行是一个工具栏,里面有文件、编辑、格式、查看、帮助。这里我们就选文件、格式、帮助来做,大致的情况都差不多。

3、再下面就是一个屏占比超高的 TextArea了,他还有个特点是有滚动条。

二、文件菜单栏:这里有新建窗口,打开文件,保存文件,还有一个退出按钮。其中的难点主要在打开和保存文件上,为什么呢。因为我们点开打开和保存两个按钮,都会跳出一个文件选择的Dialog。这东西是不是要自己画,如果要自己画,那就相当麻烦了,要对磁盘进行遍历,然后贴到窗口中什么的。所幸我们有封装好的工具JFileChooser。

三、格式菜单:弹出一个窗口,有文字的各种形式的属性选择,中间一个展示用的文本区域,下面两个按钮,确定即保存格式,修改主窗口的属性。取消则关闭窗口,不改变属性。

四、帮助菜单:这个是最简单的,因为只有一个弹窗,用于显示文本,所以我们打算从这里开始做。

OK,对每个部分分析了一下感觉清晰了很多。接下来我们来第一步,把主窗口画出来。

具体实现

画主窗口,并把菜单栏按照各自的关系建好:这里用到JMenuBar,JMenu、JMenuItem。顾名思义一个是菜单栏,一个是菜单,一个事菜单项。下面看代码:


public class test5 extends JFrame{
 
	private JMenuBar menuBar;
	//菜单栏
	private JMenu menu_File,menu_Edit,menu_Help,menu_FORMat;
	//菜单栏内的菜单
	private JMenuItem item_new,item_open,item_save,item_exit;
	//对于file菜单的子项
	private JMenuItem item_undo,item_cut,item_copy,item_stick,item_delete;
	//对于edit菜单的子项
	private JMenuItem item_about;
	//对于help菜单的子项
	private JMenuItem item_Word_format;
	
	
	public test5() {
		initMenuBar();
		
		this.setJMenuBar(menuBar);
		this.setSize(800,600);
		this.setTitle("自定义文本编辑器");
		this.setVisible(true);
		this.setLocationRelativeTo(null);
		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	}
	
	
	public void initMenuBar() {
		menuBar = new JMenuBar();
		menu_File = new JMenu("文件(F)");
		menu_File.setMnemonic('f');//f+alt打开
		item_new = new JMenuItem("新建");
		item_open = new JMenuItem("打开");
		item_save = new JMenuItem("保存");
		item_exit = new JMenuItem("退出");
		menu_File.add(item_new);
		menu_File.add(item_open);
		menu_File.add(item_save);
		menu_File.add(item_exit);
		//File 菜单
		
		menu_Edit = new JMenu("编辑(E)");
		menu_Edit.setMnemonic('e');
		item_undo = new JMenuItem("撤销");
		item_cut = new JMenuItem("剪切");
		item_copy = new JMenuItem("复制");
		item_stick = new JMenuItem("粘贴");
		item_delete = new JMenuItem("删除");
		menu_Edit.add(item_undo);
		menu_Edit.add(item_cut);
		menu_Edit.add(item_copy);
		menu_Edit.add(item_stick);
		menu_Edit.add(item_delete);
		//Edit 菜单
		
		menu_Help = new JMenu("帮助(H)");
		menu_Help.setMnemonic('h');
		item_about = new JMenuItem("关于");
		menu_Help.add(item_about);
		//Help 菜单
		
		menu_Format = new JMenu("格式(O)");
		menu_Format.setMnemonic('o');
		item_word_format = new JMenuItem("字体(F)");
		item_word_format.setAccelerator(KeyStroke.geTKEyStroke('F',java.awt.Event.CTRL_MASK,false));//给item添加快捷键
		menu_Format.add(item_word_format);
		menuBar.add(menu_File);
		menuBar.add(menu_Edit);
		menuBar.add(menu_Format);
		menuBar.add(menu_Help);
	}
	
	public static void main(String[] args) {
		test5 t5 = new test5();
	}
}

接下来就是菜单栏下面的文本编辑区域了,这里只需要用一个JTextArea就可以了,别忘了还有滚动条(jscrollPane):


public class test5 extends JFrame{
 
	...

 ...


 
	private static JTextArea edit_text_area;
	//private JTextArea edit_text_area;
	
	//编辑区域
	private JScrollPane scroll_bar;
	//可滚动的pane 里面添加edit_text_area就可以变为一个可以滚动的文本框,JScrollPane是一个pane,同时可以设置方向
	
	public test5() {
		initMenuBar();
		initEditArea();
		
		this.setJMenuBar(menuBar);
		this.setSize(800,600);
		
		this.add(scroll_bar);
		
		this.setTitle("自定义文本编辑器");
		this.setVisible(true);
		this.setLocationRelativeTo(null);
		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	}
	
	
	
	public void initEditArea() {
		edit_text_area = new JTextArea();
		scroll_bar = new JScrollPane(edit_text_area);
		scroll_bar.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);
	}
	
	
	public void initMenuBar() {
		...
	}
	
	
	
	public static void main(String[] args) {
		test5 t5 = new test5();
	}
	
	
 
}

为了节省篇幅,我就把重复出现的代码删除用...代替了,相信没有影响大家的观看效果。

OK,现在整个主窗口都出来了。我们回顾一下本篇都做了什么:一、整理了一下思路,按照记事本的功能和样式,将组件才分出来分析了一下。二、对菜单栏进行初始化。三、对文本编辑区域进行初始化。

下面我们就要开始做事件响应了。

总结

到此这篇关于用JAVA写文本编辑器的文章就介绍到这了,更多相关JAVA写文本编辑器内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: 教你用JAVA写文本编辑器(一)

本文链接: https://lsjlt.com/news/157377.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 教你用JAVA写文本编辑器(一)
    目录前言思路分析:具体实现总结前言 这里用swing ,awt写的。 我们大概要做成一个电脑的记事本那样的一个编辑器。可以调整字体,字号,颜色。能够打开、保存文件,新建窗口,点击退出...
    99+
    2024-04-02
  • 教你用JAVA写文本编辑器(二)
    目录这是编辑器第一章 JAVA写文本编辑器(一) ,需要的同学了解一下。 这一章我们来处理一下JMenuBar里的item的事件响应,首先从最简单的item关于开始。 为什么说这个简...
    99+
    2024-04-02
  • 教你用JAVA写文本编辑器(三)
    大家好,接下来的部分可能有点乱,但是并不复杂,我希望我能尽量给大家捋清楚思路。 老套路,这是我的前两篇系列,需要的同学了解一下: JAVA写文本编辑器(二) JAVA写文本...
    99+
    2024-04-02
  • 教你用JAVA写文本编辑器(四)
    其实写到这里,我已经差不多断气了。。。 常规套路,这里是前三篇的传送门,需要的同学可以看一下:JAVA写文本编辑器(三) JAVA写文本编辑器(二)JAVA写文本编辑器(一) 现在我...
    99+
    2024-04-02
  • 怎么用JAVA写文本编辑器
    本篇内容介绍了“怎么用JAVA写文本编辑器”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!为什么说这个简单,因为它需要完成的功能很少,只是出来...
    99+
    2023-06-25
  • 如何用JAVA写文本编辑器
    本篇内容主要讲解“如何用JAVA写文本编辑器”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何用JAVA写文本编辑器”吧!前言这里用swing ,awt写的。我们大概要做成一个电脑的记事本那样的...
    99+
    2023-06-25
  • 如何使用JAVA写文本编辑器
    本篇内容介绍了“如何使用JAVA写文本编辑器”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!再来分析一下,最后一个Menu,里面有几个按钮,不...
    99+
    2023-06-25
  • 用JAVA写文本编辑器的方法是什么
    本篇内容介绍了“用JAVA写文本编辑器的方法是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!下面我们要实现的是一个点击选择文本格式的窗口...
    99+
    2023-06-25
  • 使用Python读写文本文件及编写简单的文本编辑器
    学习raw_input和argv是学习读取文件的前提,你可能不能完全理解这个练习,所以认真学习并检查。如果不认真的话,很容易删除一些有用的文件。 这个练习包含两个文件,一个是运行文件ex15.py,一个是e...
    99+
    2022-06-04
    编辑器 文本文件 文本
  • Qt实现文本编辑器(一)
    目录功能实现动作(QAction)实现菜单(Menus)实现工具栏(ToolBars)实现展示区域小结(一)在Qt中QMainWindow是一个为用户提供主窗口程序的类,包含了:菜单...
    99+
    2024-04-02
  • 教你用Java GUI实现文本文件的读写
    目录一、实验题目二、分析三、实现四、全部代码一、实验题目 二、分析 实验要求为: 实现一个界面,界面中包含一个文本显示区和两个按钮(存档和读档) 读档按钮作用是打...
    99+
    2024-04-02
  • 五种JavaScript富文本编辑器,总有一款适合你
    也许,你时常会遇到要开发基于Web的文本编辑器的情况。有时候,只需实现一个简约且轻量级的应用程序,不必有其他任何不必要的功能。而有时候,你的首要任务是保护用户的商业机密。在这样的情况下,如果想知道“背后发生了什么”,最好是从头开始创建应用程...
    99+
    2023-06-03
  • 常用的java文本编辑器有哪些
    常用的Java文本编辑器有:1. Eclipse2. IntelliJ IDEA3. NetBeans4. Visual Studi...
    99+
    2023-08-16
    java
  • 好用的java文本编辑器有哪些
    以下是一些好用的Java文本编辑器:1. Eclipse:Eclipse 是最流行的 Java 集成开发环境之一,具有强大的代码编辑...
    99+
    2023-08-29
    java
  • java如何实现文本编辑器
    要实现一个文本编辑器,你可以使用Java的图形用户界面(GUI)库,例如Swing或JavaFX。首先,创建一个主要的窗口,可以使用...
    99+
    2023-09-06
    java
  • Ubuntu中怎么使用文本编辑器编辑文件
    在Ubuntu中,可以使用命令行文本编辑器来编辑文件,常用的命令行文本编辑器有nano和vim。 使用nano编辑文件: 打开终端...
    99+
    2024-03-05
    Ubuntu
  • 教你编写Pipeline脚本的方法
    目录前言调试 grok 和 pipelineGrok 通配搜索多行如何处理Pipeline 字段命名注意事项完整 Pipeline 示例如何在一个 Pipeline 中切割多种不同格...
    99+
    2022-11-13
    Pipeline 脚本 编写 Pipeline 脚本
  • Vi文本编辑器怎么用
    这篇文章主要介绍了Vi文本编辑器怎么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。安装 Vi如果你运行的是 Linux、macOS 或 BSD,那么你已经安装了 ...
    99+
    2023-06-15
  • linux常用的文本编辑器
    Linux常用的文本编辑器有以下几个:1. Vim:Vim 是一个功能强大的文本编辑器,它支持多种编辑模式,可以方便地编辑各种文本文...
    99+
    2023-09-20
    linux
  • linux文本编辑器怎么用
    Linux中有许多文本编辑器可供选择,每个编辑器都有自己的特点和用法。以下是一些常用的Linux文本编辑器及其简单用法:1. Vim...
    99+
    2023-09-06
    linux
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作