JAVA mini 记事本

x-mini-sig_x-mini-mua X书的tiny风控代码,成功运行x-mini-sig|x-mini-mua。 阅读详情

这是第一次发布博客,主要是试试优快云博客的功能!发现贴代码的功能还是方便美观的。
代码为用JAVA编写的简易版的记事本。包含下拉菜单功能,菜单栏为打开,保存,退出。可实现记事本的基本操作。

package Note;
import java.awt.*;
import java.awt.event.*;
import java.io.*;

/*
1.画界面
2.做菜单
3.加功能
4.用io流读写
5.打包
*/

class NoteGUI
{
    Frame frame = null;
    TextArea textArea = null;
    MenuBar fileBar = null;
    Menu file = null;
    MenuItem open = null;
    MenuItem save = null;
    MenuItem exit = null;
    File f = null;

    NoteGUI()
    {
        init();
    }

    public void init()
    {
        frame = new Frame("Note"); 
        textArea = new TextArea();
        fileBar = new MenuBar();
        file = new Menu("文件");
        open = new MenuItem("打开");
        save = new MenuItem("保存");
        exit = new MenuItem("退出");


        frame.setBounds(400,300,800,600);


        file.add(open); 
        file.add(save);
        file.add(exit);

        fileBar.add(file);


        frame.add(textArea);
        frame.setMenuBar(fileBar);

        event();
        frame.setVisible(true);

    }

    public void event()
    {
        frame.addWindowListener(new WindowAdapter()
        {
            public void windowClosing(WindowEvent we)
            {
                System.exit(0);
            }
        }) ;

        open.addActionListener(new ActionListener()
        {
            public void actionPerformed(ActionEvent ae)
            {
                openAction();
            }
        });

        save.addActionListener(new ActionListener()
        {
            public void actionPerformed(ActionEvent ae)
            {       
                saveAction();
            }
        });


        exit.addActionListener(new ActionListener()
        {
            public void actionPerformed(ActionEvent ae)
            {
                frame.dispose();
            }
        });

        textArea.addKeyListener(new KeyAdapter()
        {
            public void keyPressed(KeyEvent ke)
            {
                if(ke.isControlDown() && ke.getKeyCode() == ke.VK_S)
                {       
                    saveAction();
                }

                if(ke.getKeyCode() == ke.VK_F1 || (ke.isControlDown() && ke.getKeyCode() == ke.VK_O))
                {
                    openAction();
                }
            }
        });
    }

    private void saveAction()
    {
        if(f == null)
        {
            FileDialog fileDialogSave = new FileDialog(frame,"保存文件",FileDialog.SAVE);

            fileDialogSave.setVisible(true);

            String dirPath = fileDialogSave.getDirectory();
            String fileName = fileDialogSave.getFile();
            if(dirPath==null && fileName==null)
            {
                return;
            }
            f = new File(dirPath,fileName);     
        }

        try
        {
            FileWriter fr = new FileWriter(f);
            String s = textArea.getText();
            fr.write(s);
            fr.close();
        }
        catch (IOException ioe)
        {
            System.out.println("保存异常");
            throw new RuntimeException();
        }
    }

    public void openAction()
    {
        FileDialog fileDialogOpen = new FileDialog(frame,"打开文件",FileDialog.LOAD);
        fileDialogOpen.setVisible(true);
        String dirPath = fileDialogOpen.getDirectory();
        String fileName= fileDialogOpen.getFile();

        if(dirPath==null && fileName==null)
        {
            return;
        }

        File f = new File(dirPath,fileName);
        textArea.setText("");

        try
        {
            BufferedReader bufr = new BufferedReader(new FileReader(f));

            String line = null;
            while((line=bufr.readLine())!=null)
            {
                textArea.append(line+"\r\n");
            }

            bufr.close();
        }
        catch (IOException ioe)
        {
            System.out.println("打开异常");
            throw new RuntimeException();
        }


    }

}
class Note
{
    public static void main(String[] args) 
    {
        new NoteGUI();
    }
}
X书x-mini-sig_x-mini-mua X书的tiny风控代码,成功运行x-mini-sig|x-mini-mua 阅读详情

相关推荐

javamini

javamini

昆山java自行车,剁手清单:剁手的路上总会有几个“毒友”加持

大家好,我就是那位一日来回三上三落南昆山的IT佬Penny,自九月份《剁手清单》主题征文活动面世以来,一直都有关注,自己心里也粗略盘算了一下,不算不知道,一算确实吓一跳,尤其是对于我这类穷人来说,简直扎心啊老铁……下面,就让我为大家介绍下我拥有的部分装备吧(部分价格印象模糊,只能凭记忆写个大概数了,求器材党轻喷好了,谢谢)。一、爱车列表1、骚红P8消防车【2015年】年头入手的折叠车,这车到后期只...

weixin_29021757的博客 529

java版mini编辑器

NULL 博文链接:https://hcmfys.iteye.com/blog/1696497

北邮国院大二java mini project记录贴(一)

做一个wordle小项目

qq_53631388的博客 1862

minijava 编译器

minijava 编译器,完成至spiglet部分

迷你记事本

MiniNote,it use to record some words

Datadog Build Plugins 使用教程

Datadog Build Plugins 使用教程 项目介绍 Datadog Build Plugins 是一组通用的打包工具插件,允许开发者在构建过程中直接与 Datadog 进行交互。这些插件支持多种打包工具,包括 Webpack、Vite、ESBuild 和 Rollup。通过这些插件,开发者可以在构建过程中收集和发送性能指标、日志数据等到 Datadog,从而实现更高效的监控和调试。 项...

gitblog_00001的博客 439

Java迷你记事本

   实现类似Windows操作系统“记事本”的功能。它是一个简单的文本文档编辑器,可以创建、查看或编辑文本文件。

北邮国院大二java mini project记录贴(三)

用javaswing做wordle游戏,收工收工!

qq_53631388的博客 1144

Python自动化批量识别化学分子结构——从图片到SMILES/SDF的实战指南

本文提供了使用Python自动化批量识别化学分子结构图片的实战指南。详细对比了基于Molvec API的在线快速方案与本地部署OSRA工具的两种路径,包含完整的代码示例、环境配置及优化技巧,帮助化学研究者高效地将图片批量转换为SMILES或SDF格式,显著提升数据处理效率。

apple5的专栏 947

【实战指南】利用CAN适配器高效调试CAN总线通信

本文提供了一份利用CAN适配器高效调试CAN总线通信的实战指南。文章从硬件连接、终端电阻配置、软件参数设置等基础环节入手,详细解析了CAN适配器作为关键调试工具的工作原理与使用方法,并针对常见的通信故障提供了系统化的问题排查思路,帮助工程师快速打通通信链路,提升调试效率。

weixin_28285943的博客 416

java mini 和java cl_Java抽象类与接口的区别

很多常见的面试题都会出诸如抽象类和接口有什么区别,什么情况下会使用抽象类和什么情况你会使用接口这样的问题。本文我们将仔细讨论这些话题。在讨论它们之间的不同点之前,我们先看看抽象类、接口各自的特性。抽象类抽象类是用来捕捉子类的通用特性的 。它不能被实例化,只能被用作子类的超类。抽象类是被用来创建继承层级里子类的模板。以JDK中的GenericServlet为例: public abstract cl...

weixin_42415491的博客 217

如何在Android上使用OpenCV进行摄像头标定

如何在Android上使用OpenCV进行摄像头标定,我们这里使用官方一个例程,其实并不难,只是网上的资料少了而已。相机标定是计算机视觉工作的前提,为了确定相机矩阵和畸变参数。

花草的博客 3440

mini记事本

/*   这是大一写的记事本,虽然功能不全,但可以用。虽然自己依然弱鸡,但是木有关系的啦,主要是赚积分啊。哈哈哈哈哈 自己好像不会在这里传文件,所以就把源码贴出来。 项目一共有五个java文件。 分别是: MenuItemFuncationRealize.java NodeBase.java NodePand.java PopupRun.java RightMouseMenu

libingbojava的博客 420

VisionMaster位置修正功能深度解析:如何让找圆工具自动跟随移动目标?

本文深度解析海康威视VisionMaster平台的位置修正功能,重点介绍如何通过模板匹配与找圆工具的智能联动实现移动目标的动态追踪。文章详细阐述了工业视觉检测中的坐标系同步原理、模板匹配配置技巧及异常处理策略,为工程师提供了一套完整的工业级解决方案。

uu89012的博客 286

诠视MR眼镜Unity开发设置_Unity2020.3.38

请按照如下设置Android SDK 和 Gradle。打包前先将Unity切换到Android模式。Preferences 设置。

m0_71932574的博客 603

PHPWord 图表样式(Chart Style)配置完全指南:EMU 尺寸、图例、坐标轴与网格线的 OOXML 底层解析

本文围绕 PHPWord(PHPOffice/PHPWord,纯 PHP 读写 Word 文档的库)中**图表(Chart)元素的样式配置**展开,完整梳理 `docs/usage/styles/chart.md` 所列出的全部图表样式选项,并结合 `src/PhpWord/Style/Chart.php` 的源码实现、Word2007 写入器的 OOXML 映射逻辑、官方样例与单元测试,讲清每个

gitblog_00581的博客 654

SentEval学习笔记

SentEval allows you to evaluate your sentence embeddings as features for the followingdownstreamtasks: Task Type #train #test needs_train set_classifier MR movie review(影评) 11k 11k 1 1 CR product review(产品评述) ...

AlphaFinance 803

用 collisionsTest 暴力测试哈希碰撞率:xxHash 仓库 64/128 位哈希碰撞分析器完整使用指南

collisionsTest 是 xxHash 项目随附的暴力碰撞分析工具,它通过生成数十亿个哈希值并与理论"理想值"比对,来量化一个 64 位哈希算法的真实碰撞率。本文以 [third_party/xxhash/tests/collisions/README.md](https://link.gitcode.com/i/d86e3e4f413c8e3046e1a2ef28674f32) 为骨架,

gitblog_00149的博客 849

华为昇腾(Ascend)开发考试原题目解析 (2024) (题库一)——HCIP-AI-Ascend Developer——第一部分

给出一段代码如下,以下哪个选项描述错误?...A.中的语句由 MindSpore 接管,有语法限制B. 算子在中定义,并用来建立网络C.__init__()中的语句由 Python 解析执行D. 网络定义必须继承基类nn.Cell正确答案: B__init__()用于定义算子和网络层。所有需要用到的层(如卷积层、全连接层等)都应该在这里进行实例化。这部分代码由Python解释器执行。用于构建前向计算图。它调用在__init__()中定义好的算子和层来描述数据的流向。

qq_38334677的博客 1054

[EdgeAI] NXP eIQ 机器学习Toolkit (二):模型篇

eIQ™机器学习(ML)软件开发环境支持在恩智浦EdgeVerse™微控制器和微处理器(包括i.MX RT跨界MCU和i.MX系列应用处理器)上使用ML算法。eIQ ML软件包括称为eIQ Toolkit的ML工作流工具以及推理引擎、神经网络编译器和优化库。......

HowieXue 薛永浩的博客 1万+

Mini Java编译器(一)

一、任务概述本项大作业将设计并实现一个Mini Java语言的编译器  Mini Java概述Mini Java是Java语言的子集。作为一种很好的编译课程教学语言,它与Java相比做了如下精简:(1)不允许重载(overloading)(2)一个文件中可以申明若干个类,但必须有且只有一个的主类,辅类可以有多个,类不能申明为public;主类中只能有一个主方法,该方法的签名必须为“public s

午夜拍键惊奇 1万+

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

Mini-ChatGPT+LangChain:轻量AI如何嵌入Java商业系统

在企业级AI落地中,'轻量大模型'与'链式编排'正成为突破数据主权、SLA稳定性和成本可控性三大硬约束的关键范式。其核心原理是将领域知识蒸馏至<1B参数本地模型(如Phi-3-mini),再通过LangChain构建可审计、可降级、可观测的声明式业务工作流,实现意图理解→结构化抽取→服务路由→合规生成的端到端闭环。该技术路径天然适配Spring Boot等Java主流架构,支持统一鉴权、操作留痕与内网闭环,已在金融、政务、电商等场景验证P95延迟<800ms、敏感数据零出域、运维成本下降92%。本文聚焦Mi

weixin_34050519的博客 492

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

实现spring机制——mini-spring

该项目简单的实现了AOP的机制,与原生的spring仍有很大的区别,但对我们简单了解spring执行流程有很大的帮助在实现AOP机制我们采用了一些硬编码的形式,这里可以自行进行完善希望这篇文章对大家有所帮助。

xiao_yao_xian的博客 2006

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

java20寸mini_MINI x TUMI 20寸拉杆箱——旅游与历险而设的独家系列

MINI x TUMI 20寸拉杆箱——旅游与历险而设的独家系列2016-02-14 09:49:548点赞19收藏6评论TUMI是张大妈的常客就不再多做介绍了,先来张官方全家福,卤煮入的是TUMI与MINI的合作系列,15年秋季上市(国内好像并没有)简单介绍一下MINI BY TUMI系列吧TUMI (NYSE:TUMI)一直为顾客带来设计优秀的世界顶级商务及旅游产品,致力简化及提升使用者生活中...

weixin_42501974的博客 378

Mini Java编译器(二)

二、Mini Java的文法BNFGoal::=MainClass ( TypeDeclaration )* MainClass::="class" Identifier "{" "public" "static" "void" "main" "(" "String" "[" "]" Identifier ")" "{" PrintStatement "}" "}"TypeDeclaration:

午夜拍键惊奇 5644
下一篇: HTML
_jayjune
博客等级 码龄11年 3粉丝 25原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值