问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

求一个用Java编写的简易笔记本代码。跪求

发布网友 发布时间:2022-04-25 03:28

我来回答

1个回答

热心网友 时间:2023-10-23 07:55

import java.awt.*;
import java.awt.event.*;
import java.io.*;
import javax.swing.*;

public class MyNotepad implements ActionListener
{
private JFrame frame=new JFrame("新记事本");
private JTextArea jta=new JTextArea();
private String result="";
private boolean flag=true;
private File f;
private JButton jb=new JButton("开始");
private JTextField jtf=new JTextField(15);
private JTextField jt=new JTextField(15);
private JButton jbt=new JButton("替换为");
private JButton jba=new JButton("全部替换");
private Icon ic=new ImageIcon("D:\\java课堂笔记\\GUI\\11.gif");
private String value;
private int start=0;
private JFrame jf=new JFrame("查找");
private JFrame jfc=new JFrame("替换");

@Override
public void actionPerformed(ActionEvent e) 
{
String comm=e.getActionCommand();
if("新建".equals(comm))
{
if(!(frame.getTitle().equals("新记事本")))
{
if(!flag)
{
write();
newNew();
}
else
{
JFileChooser jfc=new JFileChooser("D:\\java课堂笔记");
int returnVal = jfc.showDialog(null,"保存为");
if(returnVal == JFileChooser.APPROVE_OPTION) 
{//选择文件后再执行下面的语句,保证了程序的健壮性
f=jfc.getSelectedFile();
flag=false;
write();
}
}
}
else if(!(jta.getText().isEmpty()))
{
JFileChooser jfc=new JFileChooser("D:\\java课堂笔记");
int returnVal = jfc.showDialog(null,"保存为");
if(returnVal == JFileChooser.APPROVE_OPTION) 
{//选择文件后再执行下面的语句,保证了程序的健壮性
f=jfc.getSelectedFile();
flag=false;
write();
newNew();
}
}
else
{
newNew();
}
}
else if("打开".equals(comm))
{
JFileChooser jfc=new JFileChooser("D:\\java课堂笔记");
jfc.setDialogType(JFileChooser.OPEN_DIALOG);
int returnVal = jfc.showOpenDialog(null);
if(returnVal == JFileChooser.APPROVE_OPTION)
{//选择文件后再执行下面的语句,保证了程序的健壮性
f=jfc.getSelectedFile();
frame.setTitle(f.getName());
result=read();
flag=false;
value=result;
jta.setText(result);
}
}else if("保存".equals(comm))
{
JFileChooser jfc=new JFileChooser("D:\\java课堂笔记");
if(flag)
{
int returnVal = jfc.showDialog(null,"保存为");
if(returnVal == JFileChooser.APPROVE_OPTION)
{//选择文件后再执行下面的语句,保证了程序的健壮性
f=jfc.getSelectedFile();
flag=false;
write();
}
}
else
{
write();
}
}
else if("另存".equals(comm))
{
JFileChooser jfc=new JFileChooser("D:\\java课堂笔记");
int returnVal = jfc.showDialog(null,"另存");
if(returnVal == JFileChooser.APPROVE_OPTION) 
{//选择文件后再执行下面的语句,保证了程序的健壮性
f=jfc.getSelectedFile();
write();
}
}
else if("退出".equals(comm))
{
System.exit(0);
}
else if("撤销".equals(comm))
{
jta.setText(value);
}
else if("剪切".equals(comm))
{
value=jta.getText();
jta.cut();
}
else if("复制".equals(comm))
{
jta.copy();
}
else if("粘贴".equals(comm))
{
value=jta.getText();
jta.paste();
}
else if("删除".equals(comm))
{
value=jta.getText();
jta.replaceSelection(null);
}
else if("全选".equals(comm))
{
jta.selectAll();
}
else if("查找".equals(comm))
{
value=jta.getText();
jf.add(jtf,BorderLayout.CENTER);
jf.add(jb,BorderLayout.SOUTH);
jf.setLocation(300,300);
jf.pack();
jf.setVisible(true);
jf.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
}
else if("替换".equals(comm))
{
value=jta.getText();
GridLayout gl=new GridLayout(3,3);
JLabel jl1=new JLabel("查找内容:");
JLabel jl2=new JLabel("替换为:");
jfc.setLayout(gl);
jfc.add(jl1);
jfc.add(jtf);
jfc.add(jb);
jfc.add(jl2);
jfc.add(jt);
jfc.add(jbt);
JLabel jl3=new JLabel();
JLabel jl4=new JLabel();
jfc.add(jl3);
jfc.add(jl4);
jfc.add(jba);
jfc.setLocation(300,300);
jfc.pack();
jfc.setVisible(true);
jfc.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
}
else if("版本".equals(comm))
{
JDialog jd=new JDialog(frame,"关于对话框");
jd.setSize(200,200);
JLabel l=new JLabel("哈哈哈哈哈哈哈哈哈哈呵呵呵呵呵呵呵呵呵呵呵呵呵");
jd.add(l,BorderLayout.CENTER);
jd.setLocation(100,200);
jd.setSize(300,300);
jd.setVisible(true);
// jd.pack();
jd.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
}
else if("开始".equals(comm)||"下一个".equals(comm))
{
String temp=jtf.getText();
int s=value.indexOf(temp,start);
if(value.indexOf(temp,start)!=-1)
{
jta.setSelectionStart(s);
jta.setSelectionEnd(s+temp.length());
jta.setSelectedTextColor(Color.GREEN);
start=s+1;
jb.setText("下一个");
// value=value.substring(s+temp.length());//不能截取字串
}
else 
{
JOptionPane.showMessageDialog(jf, "查找完毕!", "提示", 0, ic);
jf.dispose();
}
}
else if("替换为".equals(comm))
{
String temp=jtf.getText();
int s=value.indexOf(temp,start);
if(value.indexOf(temp,start)!=-1)
{
jta.setSelectionStart(s);
jta.setSelectionEnd(s+temp.length());
jta.setSelectedTextColor(Color.GREEN);
start=s+1;
jta.replaceSelection(jt.getText());
}
else
{
JOptionPane.showMessageDialog(jf, "查找完毕!", "提示", 0, ic);
jf.dispose();
}
}
else if("全部替换".equals(comm))
{
String temp=jta.getText();
temp=temp.replaceAll(jtf.getText(), jt.getText());
jta.setText(temp);

}
}

public String read()
{
String temp="";
try 
{
FileInputStream fis = new FileInputStream(f.getAbsolutePath());
byte[] b=new byte[1024];
while(true)
{
int num=fis.read(b);
if(num==-1)
break;
temp=temp+new String(b,0,num);
}
fis.close();
}
catch (Exception e1)
{
e1.printStackTrace();
}
return temp;
}

public void write()
{
try
{
FileOutputStream fos=new FileOutputStream(f);
fos.write(jta.getText().getBytes());
fos.close();
}
catch (Exception e)
{
e.printStackTrace();
}
}


public void newNew()
{
frame.dispose();
new MyNotepad();
flag=true;
}

public MyNotepad()
{
JMenuBar jmb=new JMenuBar();
String[] menuLab={"文件","编辑","帮助"};
String[][] menuItemLab={{"新建","打开","保存","另存","退出"},
{"撤销","剪切","复制","粘贴","删除","全选","查找","替换"},
{"版本"}};
for(int i=0;i<menuLab.length;i++)
{
JMenu menu=new JMenu(menuLab[i]);
jmb.add(menu);
for(int j=0;j<menuItemLab[i].length;j++)
{
JMenuItem jmi=new JMenuItem(menuItemLab[i][j]);
menu.add(jmi);
jmi.addActionListener(this);
}
}
frame.setJMenuBar(jmb);
jta.setLineWrap(true);//自动换行
JScrollPane jsp=new JScrollPane(jta);//滚动窗口面板
frame.add(jsp);

jb.addActionListener(this);
jbt.addActionListener(this);
jba.addActionListener(this);

frame.setLocation(200,50);
frame.setSize(620,660);
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}

public static void main(String[] args)
{
new MyNotepad();
}
}

追问大神还有没有更精简的记事本呢。。越精简越好

追答以前在网上找的代码,对java桌面程序不感兴趣,只是运行了一下。你自己研究下吧,应该不难,把不想要的功能删除就是了

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
老师侮辱学生是否犯法 开启河南航拍新篇章 河南省航拍协会第一次会员代表大会召开 我想问下poscer m-3032款型手表售价是多少??? wp6m是啥意思 看图软件哪个好哪个看图软件好 5款强大到离谱电脑软件,都是效率神器!从此远离加班 在武汉买一套房大概要多少钱 武汉华润翡翠城的优缺点 k12教育为什么会被整顿 国家为什么要叫停K12教育? 谁有java学习笔记电子版 寻找早期niconico和acfun鬼畜视频 FA♂出自哪里 有谁知道鬼畜视频里的这个人,原视频叫什么? 这些有关鬼畜的视频节目素材录制的怎么样 效果如何? B站的著名鬼畜up主和国际鬼畜界的高手相比水平怎么样 求B站上摔手机的那个警察鬼畜素材原视频 希特勒扮演者布鲁诺·甘茨去世,你都看过他的哪些作品?? 怎么自制鬼畜素材视频? 在b站鬼畜区素材里常看到的三个美国佬坐在车里摇头的出处是哪部电影 《溏心风暴3》又土又尴尬,曾经辉煌的TVB怎么了 求几个很流行的鬼畜素材视频。高分 高分 高分 不讲武德为什么突然火了 百世快递单号50355352503802已发到哪里了?2016年11月21日,陈瑞显电话号1559 阳晓的主要科研论文 石家庄庆邦机械设备有限公司怎么样? 自贡方舟环保科技有限公司怎么样? 欣龙控股股份为什么近期大股东连续辞职 众志自动化设备(湖南)有限公司怎么样? 贵州省道真县旧城镇旧城中学副校长 java文件打开乱码了。这是我学java学校课堂笔记,回家下载下来变成这样了,是不是打开方式不对? 我想要 李兴华 老师 java8的课堂笔记~ 是java 8 的喔~ 《13天搞定JAVA 魔乐课堂实战系列》@@@课堂笔记 java编写简单的记事本程序!!求助!作业!请附带稍微详细一点的文档说明!说明都有什么,怎么运行!! JAVA记事本代码,老师让做成ppt讲解,求大神指出里面的重点和需要讲解的地方,最好详细点 李兴华Java8课堂笔记谁有?请发给我一份,谢谢 51CTOIT进阶:Java架构师高端培训【微职位】课堂笔记 Excel会自动把一行缩小 选择了行高也不行 李兴华Java8课堂笔记,谁能给我发一下,谢谢。 excel2010图表字体取消自动缩放 李兴华Java8课堂笔记 (支付宝30rmb)java简单记事本。有注释最好。 学习JAVA最重要的是什么? 编写一个JAVA记事本程序 李兴华的《java开发实战经典》光盘中的课堂笔记,能给我分享一份儿么?谢谢 excel如何在每天使用过的物料后,库存数量自动减少? 用java做文本编译器 怎么在excel里图表取消自动缩放 谁有林信良的《java学习笔记》完整版的,不要只有几章的 链接。 excel 单元格中输入数字自动减少2位的原因