`

java记事本

    博客分类:
  • java
阅读更多

采用了第 3 方感官皮肤( xp )。总结该程序代码无非就是一个 JFrame 设置 JMenuBar —— >JMenu( 字符串作参数 ) —— >JMenuItem action 作为参数)。文本面板 JScrollPane+JTextPane ,由于 JTextPane 本身就有复制、粘贴、剪切方法,所以写这个程序也显得非常简单。功能设计得也很简单,主要是练习。

部分重要代码,菜单部分:

JMenuBar menubar = new JMenuBar ();                 // 实例化菜单栏

        JMenu menuFile = new JMenu (" 文件 ");                // 实例化菜单

        JMenu menuEdit = new JMenu (" 编辑 ");

        JMenu menuAbout = new JMenu (" 帮助 ");

        menuFile.add (new JMenuItem (actions[0]));          // 增加新菜单项

        menuFile.add (new JMenuItem (actions[1]));

        menuFile.add (new JMenuItem (actions[2]));

        menuFile.add (new JMenuItem (actions[7]));

        menuEdit.add (new JMenuItem (actions[3]));

        menuEdit.add (new JMenuItem (actions[4]));

        menuEdit.add (new JMenuItem (actions[5]));

        menuAbout.add (new JMenuItem (actions[6]));

        menubar.add (menuFile);                             // 增加菜单

        menubar.add (menuEdit);

        menubar.add (menuAbout);

事件的一部分代码:

class SaveAction extends AbstractAction

    {  // 保存命令

        public SaveAction ()

        {

            super (" 保存 ");

        }

        public void actionPerformed (ActionEvent e)

        {

            int i = filechooser.showSaveDialog (EditorDemo.this); // 显示保存文件对话框

            if (i == JFileChooser.APPROVE_OPTION)

            {  // 点击对话框中保存按钮

                File f = filechooser.getSelectedFile (); // 得到选择的文件

                try

                {

                    FileOutputStream out = new FileOutputStream (f);  // 得到文件输出流

                    out.write (textPane.getText ().getBytes ()); // 写出文件

                }

                catch (Exception ex)

                {

                    ex.printStackTrace (); // 输出出错信息

                }

            }

        }

    }

分享到:
评论
6 楼 dangjun625 2008-11-27  
练习 练习
5 楼 xuming9 2008-11-19  
我用swt写过1个,不过查找,替换功能没写 出来

不知道楼主写了没
4 楼 lixuanxianak 2008-11-10  
notepad 啊,很多书籍什么的都一他为例子!
3 楼 amcucn 2008-11-08  
night.jar 写道
基于跟楼主同样的练习目的,也做了一个java版的notepad.
不过对lz的“程序代码无非。。。”我这种小鸟实在不敢苟同。
不知道你是不是也实现了除了“帮助主题”之外的所有功能。
请问你是否认为根据文本域的不同状态disable掉一些menuitem真的是很棒的设计?
请问你是如何实现查找对话框和替换对话框中查找文本的同步的?
请问在转到对话框中你是如何实现文本域拒绝非数字输入,并且显示提示标签的?要知道在netbeans里面是没有提示标签的,而jedit根本就不拒绝非数字输入。
请问你认为自动换行后隐藏状态栏真的有必要吗?
请问你是如何获得系统字体,并让它们能够很好的显示中文的?
请问你是如何实现对文件的编码并自动识别正确显示不同编码的文件的?因为要用第三方jar包,我没有实现。请问不用第三方jar如何实现?
很期待高手的答复,这些问题无不困扰了我好一段时间。
另外为什么你贴出的代码是我认为最不重要的呢?
期待贴出一些更重要的代码。
我的toy在http://www.svnhost.cn/Project/Detail-2182.shtml,欢迎高手批评指正。

楼上的问题好专业啊,是不是专门做这方面的?
2 楼 night.jar 2008-11-08  
基于跟楼主同样的练习目的,也做了一个java版的notepad.
不过对lz的“程序代码无非。。。”我这种小鸟实在不敢苟同。
不知道你是不是也实现了除了“帮助主题”之外的所有功能。
请问你是否认为根据文本域的不同状态disable掉一些menuitem真的是很棒的设计?
请问你是如何实现查找对话框和替换对话框中查找文本的同步的?
请问在转到对话框中你是如何实现文本域拒绝非数字输入,并且显示提示标签的?要知道在netbeans里面是没有提示标签的,而jedit根本就不拒绝非数字输入。
请问你认为自动换行后隐藏状态栏真的有必要吗?
请问你是如何获得系统字体,并让它们能够很好的显示中文的?
请问你是如何实现对文件的编码并自动识别正确显示不同编码的文件的?因为要用第三方jar包,我没有实现。请问不用第三方jar如何实现?
很期待高手的答复,这些问题无不困扰了我好一段时间。
另外为什么你贴出的代码是我认为最不重要的呢?
期待贴出一些更重要的代码。
我的toy在http://www.svnhost.cn/Project/Detail-2182.shtml,欢迎高手批评指正。
1 楼 vlinux 2008-06-21  
<p>小弟不才,斗胆提出几点意见。</p>
<p> </p>
<ol>
<li>设计的时候,界面用GuiMainFrame来构造,IDE推荐采用NetBeans6.0。其中,所有的组件:JTextArea、JMenu等全部都设置为protected或者默认。然后用MainFrame去继承这个GuiMainFrame,最后再添加具体的事件及其处理。好处是可以界面代码与业务逻辑代码分离。</li>
<li>事件推荐采用内部类,然后调用本地private方法的方式。addListener的时候用内部类,然后再在这个内部类的<span>actionPerformed方法</span>中调用本地的private方法,最后再在本地的private方法中执行具体业务逻辑。好处自然是多个事件可以采用同一种处理流程--例如点击右上角的关闭按钮与[菜单]-&gt;[文件]-&gt;[退出]的事件应该是一样的流程。</li>
<li>异常处理不到位。
<pre name='code' class='java'>                try
                {
                    FileOutputStream out = new FileOutputStream (f);  // 得到文件输出流
                    out.write (textPane.getText ().getBytes ()); // 写出文件
                }
                catch (Exception ex)
                {
                    ex.printStackTrace (); // 输出出错信息
                } </pre>
 这个没啥好说的,多看点异常处理的文章吧。</li>
</ol>
<p>兄弟,加油哇<img src='../../../../../images/smiles/icon_biggrin.gif' alt=''/></p>

相关推荐

    JAVA记事本 JAVA记事本 JAVA记事本

    【JAVA记事本实现详解】 在Java编程领域,创建一个简单的记事本程序是一个常见的学习项目,它可以帮助初学者理解GUI(图形用户界面)编程、事件处理和文件操作等核心概念。下面我们将深入探讨如何使用Java来实现...

    java记事本 源代码

    【标题】"java记事本 源代码"所涉及的知识点主要集中在Java编程语言、图形用户界面(GUI)设计以及文件操作上。这个项目利用Java的Swing库来构建一个类似于Windows记事本的应用程序,它实现了文本编辑的基础功能。 ...

    java记事本 java记事本

    Java记事本是一款基于Java编程语言开发的文本编辑器,其功能与系统自带的记事本应用程序相似。作为一款轻量级的文本编辑工具,它允许用户创建、查看和编辑纯文本文件,对于程序员和日常用户来说,是进行简单文本处理...

    java记事本 简单的java记事本

    【标题】"Java记事本 简单的Java记事本" 提示我们这是一个使用Java编程语言开发的简易文本编辑器。Java是一种广泛使用的面向对象的编程语言,以其跨平台性和“一次编写,到处运行”的特性而闻名。在本项目中,开发者...

    java记事本(实现全功能)

    Java记事本是一款基于Java编程语言开发的全功能文本编辑器,它旨在提供与Windows操作系统内置的记事本相似甚至更多的功能。通过使用Java,这款记事本应用程序具备跨平台特性,可以在安装了Java运行环境的任何操作...

    java 记事本 源代码

    * 此为一个java记事本的源代码 * 此记事本的主要功能: * 1、对文本文件进行打开,编辑,修改,保存,另存为 等基本操作 * 2、能够对文本中文字字体、字形、字号进行设置,及其信息的保存与恢复 * 3、能够...

    java记事本小程序源代码

    Java记事本小程序是编程领域中的一个基础项目,它通常用于教授初学者如何利用Java语言进行GUI(图形用户界面)编程。在这个项目中,开发者Koma不仅创建了一个基本的记事本应用程序,还包含了色盲检测程序的源码,这...

    java记事本(完整源码,直接运行)

    【标题】"java记事本(完整源码,直接运行)"揭示了这是一个基于Java编程语言实现的简单记事本程序,提供了与Windows系统自带的记事本相似的功能。这个项目可能包含完整的源代码,用户可以下载并直接运行,便于学习...

    JAVA记事本课程设计报告

    【JAVA记事本课程设计报告】是一份详细记录了如何使用JAVA编程语言设计并实现一个基本记事本应用的报告。这份报告涵盖了从开发环境的搭建到功能设计、界面实现、代码编写以及最终的总结等多个方面。 在【应用软件的...

    JAVA记事本项目文档

    《JAVA记事本项目文档详解》 JAVA记事本项目是一个仿照Windows操作系统记事本工具的程序,旨在提供基本的文本编辑功能。这个项目的主要目标是创建一个用户友好的界面,包含“文件”、“编辑”和“关于”三个主要...

    java记事本 java 记事本

    java记事本java记事本java记事本java记事本java记事本java记事本java记事本

    Java记事本 基本功能 查找 撤销 替换 字体

    Java记事本是一款基于Java编程语言开发的简单文本编辑器,它提供了许多常见的文本处理功能,使得用户可以方便地进行文字编辑和管理。这个项目对于初学者来说是一个很好的实践平台,能够帮助他们深入理解Java GUI...

    java记事本程序设计

    在Java记事本程序设计中,我们需要掌握Java的基本语法,包括类、对象、方法、变量等概念。 2. **Swing库** 在Java中,Swing库是用于创建图形用户界面的主要工具包。它包含一系列组件,如按钮、文本框、菜单等,...

    Java记事本程序Notebook源码

    Java记事本程序Notebook是一款基于Java编程语言开发的简单文本编辑器,它提供基本的文本编辑功能,如新建、打开、保存、复制、粘贴、查找和替换等。源码分析可以帮助我们深入理解Java GUI(图形用户界面)编程以及...

    中文简单的 java记事本

    【标题】"中文简单的 java记事本" 涉及的知识点主要集中在Java编程语言上,特别是关于图形用户界面(GUI)的开发。这个项目可能是为了解决大多数在线可用的记事本源码多为英文,对于中文学习者不友好的问题。下面将...

    java记事本程序.rar

    Java记事本程序是一款利用Java编程语言开发的文本编辑器,它允许用户创建、编辑和保存文本文件。这个程序展示了Java在桌面应用开发中的能力,同时也为初学者提供了一个了解和学习Java GUI(图形用户界面)编程的实例...

    Java记事本课程设计

    【Java记事本课程设计】是一项常见的编程实践项目,它旨在帮助学习者深入理解Java语言的基础和面向对象编程概念。这个课程设计的核心是创建一个简单的文本编辑器,模仿日常使用的记事本软件,具备基本的文本编辑功能...

    课程设计 java记事本 java代码注释

    ### 课程设计:Java记事本程序分析与解读 #### 一、项目概述 本项目是一个基于Java Swing的简易记事本程序。该程序利用了Swing提供的组件库来实现一个基本的文本编辑器功能,包括文件的新建、打开、保存、剪切、...

Global site tag (gtag.js) - Google Analytics