首页 > 编程知识 正文

常用的文本编辑器(java做文本编辑器)

时间:2023-05-05 22:17:28 阅读:77040 作者:3154

作业花了整整两天才完成。 今天我给你整理一下思路。

这里是用swing,awt写的。

我们大概应该做一个类似电脑记事本的编辑器。 可以调整字体、大小和颜色。 也有打开、保存文件、创建新窗口、单击“退出”以及有关介绍的窗口。 整体上看起来功能不多,但一部分完成就行得通了。

关键字: JAVA文本编辑器

思维分析:

一、首先我们的目标模式是电脑记事本,打开编辑器可以看到结构。 一、标题显示在窗口的title中。 2、下一行是工具栏,有文件、编辑、格式、显示、帮助。 这里选择文件、格式、帮助进行,大致情况相同。 3、再下面是屏幕占有率非常高的TextArea。 有滚动条也是其特点。

二、文件菜单栏:这里有一个新窗口。 打开文件,保存文件,有退出按钮。 其难点主要是打开并保存文件。 为什么呢? 因为单击两个“打开”和“保存”按钮将弹出文件选择诊断程序。 这个是不是自己画,如果自己画的话,那就相当麻烦了。 请遍历光盘,贴在窗户上。 幸运的是,我们有打包的工具JFileChooser。

三、格式菜单:弹出有文字多种格式属性选择的窗口,中间展示文本区,下面两个按钮确定格式并保存,修改主窗口属性。 如果取消,关闭窗口而不更改属性。

四.帮助菜单:这是最简单的。 因为只有一个窗口可以显示文本,所以我打算从这里开始。

OK,试着按部分分析了一下,相当清楚了。 接下来,在第一步,画一个主窗口吧。

绘制主窗口,根据各自的关系构建菜单栏。 在此使用JMenuBar、JMenu、JMenuItem。 看不见的寒风之一是菜单栏,一个是菜单,一个是菜单项。 让我们看看代码:

公共类测试5扩展jframe { privatejmenubarmenubar; //菜单栏private JMenu menu_File,menu_Edit,menu_Help,menu_Format; //菜单栏中的菜单private JMenuItem item_new,item_open,item_save,item_exit; private JMenuItem item_undo,item_cut,item_copy,item_stick,item_delete,文件菜单的子项; 作为edit菜单子代的private JMenuItem item_about; 作为help菜单子代的privatejmenuitemitem _ word _ format; 公共测试5 ((init menubar ); this.setjmenubar(menubar ); this.setsize (800,600; this.setTitle (自定义文本编辑器); this.setvisible(true; this.setlocationrelativeto () null; this.setdefaultcloseoperation (jframe.exit _ on _ close ); }/* * *初始化menubar。 这里有几个小快捷方式设置。 请考虑为所有组件设置以下*两种格式: *menu_file.setmnemonic('f ); menu * item _ word _ format.set accelerator (keystroke.get keystroke (' f ',java.awt.Event.CTRL_MASK,false ) menu_File=new JMenu ('文件(f ) ); menu_file.setmnemonic('f ); //falt item _ new=打开newjmenuitem ('新建'); 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_Ed

it.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);}/** * 初始化编辑区域 * 用scrollpane装textarea * 同时对pane设置方向 */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,现在整个主窗口都出来了。我们回顾一下本篇都做了什么:一、整理了一下思路,按照记事本的功能和样式,将组件才分出来分析了一下。二、对菜单栏进行初始化。三、对文本编辑区域进行初始化。

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


版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。