java简单记事本代码_简单记事本的java程序代码

article/2025/8/18 20:29:29

展开全部

天啊, 冖_Na0 为什么会有62616964757a686964616fe4b893e5b19e31333262343038我编的记事本代码呢???呵呵……你肯定是“请教”过我的吧??

呵呵……我自己编了一个,不过呢,没有windows那么多的功能啊。

涉及到两个文件:

第一个文件中的代码:

package MyProject;

import java.awt.BorderLayout;

import javax.swing.JPanel;

import javax.swing.JFrame;

import java.awt.Dimension;

import javax.swing.JMenuBar;

import javax.swing.JMenu;

import javax.swing.JMenuItem;

import javax.swing.JLabel;

import java.awt.Rectangle;

import javax.swing.JTextArea;

import javax.swing.JScrollPane;

import java.awt.datatransfer.*;

import java.io.*;

public class MainFrame extends JFrame {

private static final long serialVersionUID = 1L;

private JPanel jContentPane = null;

private JMenuBar jJMenuBar = null;

private JMenu jMenu = null;

private JMenu jMenu1 = null;

private JMenu jMenu2 = null;

private JMenuItem jMenuItem = null;

private JMenuItem jMenuItem1 = null;

private JMenuItem jMenuItem2 = null;

private JMenuItem jMenuItem3 = null;

private JLabel jLabel = null;

private JScrollPane jScrollPane = null;

private JTextArea jTextArea = null;

private JMenuItem jMenuItem4 = null;

private JMenuItem jMenuItem5 = null;

private JMenuItem jMenuItem6 = null;

private JMenuItem jMenuItem7 = null;

private static MainFrame myMainFrame=null;

private static String textstr="";///用于记录文本文件的路径

private File myFile=null;

private FileReader myrder=null;

private FileWriter mywr=null;

/**

* This is the default constructor

*/

public MainFrame() {

super();

initialize();

}

/**

* This method initializes this

*

* @return void

*/

private void initialize() {

this.setSize(412, 350);

this.setJMenuBar(getJJMenuBar());

this.setContentPane(getJContentPane());

this.setTitle("JFrame");

this.addWindowListener(new java.awt.event.WindowAdapter() {

public void windowActivated(java.awt.event.WindowEvent e) {

if(!textstr.equals("")){

try{

myFile=new File(textstr);

if(!myFile.exists()){

myFile.createNewFile();

}

myrder=new FileReader(myFile);

char[] mychar=new char[(int)myFile.length()];

myrder.read(mychar);

String tmp=new String(mychar);

jTextArea.setText(tmp);

myrder.close();

}

catch(Exception ee){

ee.printStackTrace();

}

}

}

public void windowClosing(java.awt.event.WindowEvent e) {

System.exit(0);

}

});

this.setVisible(true);

myMainFrame=this;

}

/**

* This method initializes jContentPane

*

* @return javax.swing.JPanel

*/

private JPanel getJContentPane() {

if (jContentPane == null) {

jLabel = new JLabel();

jLabel.setBounds(new Rectangle(15, 18, 65, 18));

jLabel.setText("文件内容:");

jContentPane = new JPanel();

jContentPane.setLayout(null);

jContentPane.add(jLabel, null);

jContentPane.add(getJScrollPane(), null);

}

return jContentPane;

}

/**

* This method initializes jJMenuBar

*

* @return javax.swing.JMenuBar

*/

private JMenuBar getJJMenuBar() {

if (jJMenuBar == null) {

jJMenuBar = new JMenuBar();

jJMenuBar.add(getJMenu());

jJMenuBar.add(getJMenu1());

jJMenuBar.add(getJMenu2());

}

return jJMenuBar;

}

/**

* This method initializes jMenu

*

* @return javax.swing.JMenu

*/

private JMenu getJMenu() {

if (jMenu == null) {

jMenu = new JMenu();

jMenu.setText("文件");

jMenu.add(getJMenuItem());

jMenu.add(getJMenuItem1());

jMenu.add(getJMenuItem2());

jMenu.add(getJMenuItem3());

}

return jMenu;

}

/**

* This method initializes jMenu1

*

* @return javax.swing.JMenu

*/

private JMenu getJMenu1() {

if (jMenu1 == null) {

jMenu1 = new JMenu();

jMenu1.setText("编辑");

jMenu1.add(getJMenuItem4());

jMenu1.add(getJMenuItem5());

jMenu1.add(getJMenuItem6());

}

return jMenu1;

}

/**

* This method initializes jMenu2

*

* @return javax.swing.JMenu

*/

private JMenu getJMenu2() {

if (jMenu2 == null) {

jMenu2 = new JMenu();

jMenu2.setText("帮助");

jMenu2.add(getJMenuItem7());

}

return jMenu2;

}

/**

* This method initializes jMenuItem

*

* @return javax.swing.JMenuItem

*/

private JMenuItem getJMenuItem() {

if (jMenuItem == null) {

jMenuItem = new JMenuItem();

jMenuItem.setText("打开");

jMenuItem.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent e) {

MainFrame.this.myMainFrame.setEnabled(false);

SelectTextFile mysl=new SelectTextFile();

mysl.setVisible(true);

}

});

}

return jMenuItem;

}

/**

* This method initializes jMenuItem1

*

* @return javax.swing.JMenuItem

*/

private JMenuItem getJMenuItem1() {

if (jMenuItem1 == null) {

jMenuItem1 = new JMenuItem();

jMenuItem1.setText("关闭");

jMenuItem1.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent e) {

try{

myFile=null;

}

catch(Exception ee){

ee.printStackTrace();

}

jTextArea.setText("");

}

});

}

return jMenuItem1;

}

/**

* This method initializes jMenuItem2

*

* @return javax.swing.JMenuItem

*/

private JMenuItem getJMenuItem2() {

if (jMenuItem2 == null) {

jMenuItem2 = new JMenuItem();

jMenuItem2.setText("保存");

jMenuItem2.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent e) {

try{

String tmp=jTextArea.getText();

char[] mychar=tmp.toCharArray();

myFile.delete();

myFile.createNewFile();

mywr=new FileWriter(myFile);

mywr.write(mychar);

mywr.close();

}

catch(Exception ee){

ee.printStackTrace();

}

}

});

}

return jMenuItem2;

}

/**

* This method initializes jMenuItem3

*

* @return javax.swing.JMenuItem

*/

private JMenuItem getJMenuItem3() {

if (jMenuItem3 == null) {

jMenuItem3 = new JMenuItem();

jMenuItem3.setText("退出");

jMenuItem3.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent e) {

System.exit(0);

}

});

}

return jMenuItem3;

}

/**

* This method initializes jScrollPane

*

* @return javax.swing.JScrollPane

*/

private JScrollPane getJScrollPane() {

if (jScrollPane == null) {

jScrollPane = new JScrollPane();

jScrollPane.setBounds(new Rectangle(15, 46, 371, 225));

jScrollPane.setViewportView(getJTextArea());

}

return jScrollPane;

}

/**

* This method initializes jTextArea

*

* @return javax.swing.JTextArea

*/

private JTextArea getJTextArea() {

if (jTextArea == null) {

jTextArea = new JTextArea();

}

return jTextArea;

}

/**

* This method initializes jMenuItem4

*

* @return javax.swing.JMenuItem

*/

private JMenuItem getJMenuItem4() {

if (jMenuItem4 == null) {

jMenuItem4 = new JMenuItem();

jMenuItem4.setText("复制");

jMenuItem4.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent e) {

MainFrame.this.setClipboardText(MainFrame.this.getToolkit().getSystemClipboard(),jTextArea.getSelectedText());

}

});

}

return jMenuItem4;

}

/**

* This method initializes jMenuItem5

*

* @return javax.swing.JMenuItem

*/

private JMenuItem getJMenuItem5() {

if (jMenuItem5 == null) {

jMenuItem5 = new JMenuItem();

jMenuItem5.setText("剪切");

jMenuItem5.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent e) {

MainFrame.this.setClipboardText(MainFrame.this.getToolkit().getSystemClipboard(),jTextArea.getSelectedText());

jTextArea.setText(jTextArea.getText().substring(0,jTextArea.getSelectionStart()));

}

});

}

return jMenuItem5;

}

/**

* This method initializes jMenuItem6

*

* @return javax.swing.JMenuItem

*/

private JMenuItem getJMenuItem6() {

if (jMenuItem6 == null) {

jMenuItem6 = new JMenuItem();

jMenuItem6.setText("黏贴");

jMenuItem6.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent e) {

try{

jTextArea.setText(jTextArea.getText().substring(0,jTextArea.getSelectionStart()));

jTextArea.setText(jTextArea.getText()+(MainFrame.this.getClipboardText(MainFrame.this.getToolkit().getSystemClipboard())));

}

catch(Exception ee){

ee.printStackTrace();

}

}

});

}

return jMenuItem6;

}

/**

* This method initializes jMenuItem7

*

* @return javax.swing.JMenuItem

*/

private JMenuItem getJMenuItem7() {

if (jMenuItem7 == null) {

jMenuItem7 = new JMenuItem();

jMenuItem7.setText("关于记事本");

jMenuItem7.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent e) {

暂无代码!!

}

});

}

return jMenuItem7;

}

public static void main(String args[]){

new MainFrame();

}

public static MainFrame getMyMainFrame() {

return myMainFrame;

}

public static void setMyMainFrame(MainFrame myMainFrame) {

MainFrame.myMainFrame = myMainFrame;

}

public static String getTextstr() {

return textstr;

}

public static void setTextstr(String textstr) {

MainFrame.textstr = textstr;

}

protected static String getClipboardText(Clipboard clip) throws Exception{

Transferable clipT = clip.getContents(null);// 获取剪切板中的内容

if (clipT != null) {

if (clipT.isDataFlavorSupported(DataFlavor.stringFlavor)) // 检查内容是否是文本类型

return (String)clipT.getTransferData(DataFlavor.stringFlavor);

}

return null;

}

protected static void setClipboardText(Clipboard clip, String writeMe) {

Transferable tText = new StringSelection(writeMe);

clip.setContents(tText, null);

}

}  //  @jve:decl-index=0:visual-constraint="10,10"

第二个文件中的代码:

(太长了,贴不上来)

整个效果就是实现了基本的打开、关闭、保存、退出的功能。

效果如图:

12350e01a43873bd5736ece5391239ac.png


http://chatgpt.dhexx.cn/article/Oxm93oJH.shtml

相关文章

IntelliJ IDEA 写java程序代码

快捷键 注释 单行:选中代码 ctrl/ 再来一次就是取消 多行:选中代码 ctrlshift/ 再来一次就是取消 格式化 CtrlAltL

Android studio如何运行java程序代码

先看Java程序类 public class GGG {public static void main(String[] args) {System.out.println("我是java程序");} }就是这么简单的一个java程序,在之前studio上可以直接运行,但是像现在升级studio后就发现运行报错: 首先java…

怎样使用lntelliJ IDEA 编写Java程序代码?

下面使用IDEA创建一个Java程序,实现在控制台上打印HelloWorld!的功能,具体步骤如下。 1.创建Java项目 进入New Project界面后,单击New Project选项按钮创建新项目,弹出New Project对话框,如下图所示。 New Projeet 对…

Java学习代码合集

其实我学习java最根本的原因是:我是一个挺关注外在的人,虽然是个程序员,所以我很喜欢写出那些带有漂亮的界面的程序,因为C总是控制台,我不是很喜欢,在这份java代码合集中,我会记录自己学习Java界…

Java开发常用代码

一.获取UUID UUID uuid UUID.randomUUID(); String str uuid.toString(); // 去掉“-” String s str.replaceAll("-", "");二.获取固定格式的时间字符串 第一种 //获取当前时间对象 Date d new Date(); //创建日期格式化类对象,”yyyy/MM/dd HH:mm…

一个简单的Java例程

编写一个程序,输出如下: 1.在IDEA中新建一个helloworld类,注意Java中严格区分大小写 2.在文件中添加如下代码: 源代码如下: public class helloworld{public static void main(String[] args){System.out.println(&q…

Python3读取大文件的方法

Python3读取大文件的方法 1. 方法一:利用yield生成器2. 方法二:利用open()自带方法生成迭代对象,这个是一行一行的读取3. 二者的比较 1. 方法一:利用yield生成器 def readPart(filePath, size1024, encoding"utf-8"):w…

大文件处理(上传,下载)思考

文件处理一直都是前端人的心头病,如何控制好文件大小,文件太大上传不了,文件下载时间太长,tcp直接给断开了😱😱😱等 效果 为了方便大家有意义的学习,这里就先放效果图,如…

python拆分大文件(大文件分割)

python拆分大文件 前言实现过程实验结果 前言 在工作中常常会遇见一些大文件,由于内容太多,使用比如记事本、notePad等软件也打不开,无法查看内容,最好是将整个文件进行拆分,分开处理,现在处理的文件原本是…

如何快速地向服务器传大文件,大文件如何快速传输

在这个互联网时代,信息更新速度逐渐加快。用户在进行文件传输时,一定是希望既稳定又快速的,并且还能够保证安全。但是通常来讲,FTP文件传输并不能同时实现这三点的,特别是上传大文件时,FTP上传文件速度明显…

Linux - 怎么实现大文件传输

一 前言 博文《PageCache》中介绍了 PageCache 的优缺点,其实在处理大文件中 PageCache 作用反而没有那么好。所以本文介绍 Linux 是怎么处理大文件的。 二 起因 首先看一下一个 read() 系统调用流程发生了什么,如下图: 当调用 read 方法时…

如何快速传输大文件:4 种大文件传输有效的方法

文件大小正在爆炸式增长,随之而来的挑战是如何仍然以快速、安全的方式发送。从这个意义上说,弄清楚如何快速传输大文件似乎是一项几乎不可能完成的任务。随着工作流程不断适应数字化,这对于自由职业者、业余视频编辑、后期制作公司和广播公司…

win 10计算机查找大文件,教你如何在Win10系统中查找大文件?

Win10系统如何查找大文件?Win10系统内置有搜索功能,可以帮助用户快速找到所需文件,一般我们都是输入名称进行查找文件的。当然也有其他的搜索方式,比如按照文件大小搜索,相信大家比较少见吧。那么在Win10系统中该如何查…

如何进行大文件传输?

本文首发微信公众号:码上观世界 网络文件传输的应用场景很多,如网络聊天的点对点传输、文件同步网盘的上传与下载、文件上传到分布式文件存储器等,其传输速度主要受限于网络带宽、存储器大小、CPU处理速度以及磁盘读写速度,尤其是…

大文件分片上传

前言 前端进行文件大小分割 &#xff0c;按10M分割进行分片上传&#xff0c;使用的项目还是前面文档介绍的poi同一个项目 另一篇poi导出文章,使用的同一个项目 poi的使用和工具类&#xff08;一&#xff09; 开发 1、maven依赖 <!--文件分片上传使用到依赖 start --&g…

HTTP传输大文件

一 概述 早期网络传输的文件非常小&#xff0c;只是一些几K大小的文本和图片&#xff0c;随着网络技术的发展&#xff0c;传输的不仅有几M的图片&#xff0c;还有可以达到几G和几十G的视频。 在这些大文件传输的情况下&#xff0c;100M的光纤或者4G移动网络都会因为网络压力导致…

使用python读取大文件

读取文件时&#xff0c;如果文件过大&#xff0c;则一次读取全部内容到内存&#xff0c;容易造成内存不足&#xff0c;所以要对大文件进行批量的读取内容。 python读取大文件通常两种方法&#xff1a;第一种是利用yield生成器读取&#xff1b;第二种是&#xff1a;利用open()自…

前端必学 - 大文件上传如何实现

前端必学 - 大文件上传如何实现 写在前面问题分析开始操作一、文件如何切片二、得到原文件的hash值三、文件上传四、文件合并 技术点总结【重要】一、上传文件&#xff1f;二、显示进度三、暂停上传四、Hash有优化空间吗&#xff1f;五、限制请求个数六、拥塞控制&#xff0c;动…

Linux如何快速生成大文件

微信搜索&#xff1a;“二十同学” 公众号&#xff0c;欢迎关注一条不一样的成长之路 dd命令 dd if/dev/zero offile bs1M count20000 会生成一个20G的file 文件&#xff0c;文件内容为全0&#xff08;因从/dev/zero中读取&#xff0c;/dev/zero为0源&#xff09;。 此命令可…

java 处理大文件

目的&#xff1a; 前几天在开发过程中遇到一个需求: 读取一个大约5G的csv文件内容&#xff0c;将其转化为对象然后存储到redis中, 想着直接开大内存直接load 进入到内存中就行了&#xff0c;结果可想而知,5G的文件 &#xff0c;Xmx 开到10G都没有解决&#xff0c;直接out of Me…