




免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
给你个做好了的Java的源程序的记事本,自己看看就行了的,不怎么难的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课堂笔记GUI11.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 byte1024; 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;imenuLab.length;i+) JMenu menu=new JMenu(menuLabi); jmb.add(menu); for(int j=0;jmenuItemLabi.length;j+) JMenuItem jmi=new JMenuItem(menuItemLabij); menu.add(jmi); jmi.addActionListener(this); frame.setJMenuBar(jmb); jta.setLineWrap(true);/自动换行 JScrollPane jsp=new JScrollPane(jta);/滚动窗口面板 frame.add(j
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025科目一考试的真题及答案
- 湖南音乐考试题目及答案
- 体育学专业课考试题目及答案
- 急诊抢救工作制度考试题及答案
- 永州市适应性高考试题及答案
- 传统陶瓷与新型材料卫浴生产及海外企业布局试题附答案
- 智能温控节能算法-洞察与解读
- 2025年病理学问答题及病案分析(附答案)
- 幼教行业合作协议
- 2025年事业单位招聘考试综合类无领导小组讨论面试真题模拟试卷:面试考前押题卷
- 2025届四川省泸州市高三一模语文试题
- 公司基本管理制度模版(3篇)
- 第五届应急管理普法知识竞赛考试题库500题(含答案)
- 2024年医疗器械经营质量管理规范培训课件
- 电气工程及其自动化职业规划课件
- 2024年专升本考试-专升本考试(医学综合)考试近5年真题集锦(频考类试题)带答案
- GB/T 4706.23-2024家用和类似用途电器的安全第23部分:室内加热器的特殊要求
- CommVault备份软件操作手册3
- DL∕T 5863-2023 水电工程地下建筑物安全监测技术规范
- 水质 浊度的测定 浊度计法HJ 1075-2019方法验证报告
- 新部编版语文1-6年级2460个生字表(带拼音)
评论
0/150
提交评论