实验7用Java程序制作记事本
java课程设计报告记事本

Java课程设计报告:记事本1. 引言记事本是一款常见的文本编辑工具,广泛应用于日常工作和学习中。
本文将介绍一种基于Java语言开发的简易记事本设计方案。
2. 设计思路2.1 界面设计记事本的界面应简洁明了,方便用户进行文本编辑和操作。
可以考虑使用Swing或JavaFX等图形库来创建用户界面。
2.1.1 主窗体记事本的主窗体应包含一个菜单栏和一个文本编辑区域。
菜单栏包含文件、编辑、格式等功能项,可以使用Java提供的菜单组件来实现。
2.1.2 文件操作在菜单栏的文件功能项中,应包含新建、打开、保存、另存为等操作。
这些功能可以通过文件选择对话框来实现。
2.1.3 文本编辑文本编辑区域应支持基本的编辑功能,如复制、粘贴、剪切和撤销等操作。
可以使用Java提供的文本框组件来实现。
2.2 功能设计记事本的功能设计应满足用户的基本需求,如文本编辑、保存和打开文件等。
2.2.1 文本编辑功能用户可以在文本编辑区域输入和编辑文本内容。
可以提供字体、颜色和对齐等格式设置功能。
2.2.2 文件操作功能用户可以通过菜单栏的文件功能项进行文件的新建、打开、保存和另存为等操作。
可以使用Java的文件IO功能来实现。
2.3 实现步骤2.3.1 创建主窗体首先,需要创建一个主窗体,并设置合适的大小和布局。
可以使用Swing或JavaFX提供的窗体组件来实现。
2.3.2 添加菜单栏在主窗体中添加一个菜单栏,并设置合适的菜单和菜单项。
可以使用Java提供的菜单和菜单项组件来实现。
2.3.3 添加文件操作功能在菜单栏的文件功能项中添加新建、打开、保存和另存为等功能,并实现相应的事件处理。
可以使用Java提供的文件选择对话框和文件IO功能来实现。
2.3.4 添加文本编辑功能在主窗体中添加一个文本编辑区域,并提供复制、粘贴、剪切和撤销等编辑功能。
可以使用Java提供的文本框组件和编辑功能来实现。
3. 实现代码以下是一个简单记事本的Java代码示例:import javax.swing.*;import java.awt.*;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.io.*;public class Notepad extends JFrame {private JTextArea textArea;private JFileChooser fileChooser;public Notepad() {setTitle("记事本");setSize(600, 400);setDefaultCloseOperation(EXIT_ON_CLOSE);createMenuBar();textArea = new JTextArea();JScrollPane scrollPane = new JScrollPane(textArea);add(scrollPane, BorderLayout.CENTER);fileChooser = new JFileChooser();setVisible(true);}private void createMenuBar() {JMenuBar menuBar = new JMenuBar();JMenu fileMenu = new JMenu("文件");JMenuItem newMenuItem = new JMenuItem("新建");JMenuItem openMenuItem = new JMenuItem("打开");JMenuItem saveMenuItem = new JMenuItem("保存");JMenuItem saveAsMenuItem = new JMenuItem("另存为");newMenuItem.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {textArea.setText("");}});openMenuItem.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {int result = fileChooser.showOpenDialog(Notepad.this);if (result == JFileChooser.APPROVE_OPTION) {File file = fileChooser.getSelectedFile();try {BufferedReader reader = new BufferedReader(new FileReader(file));String line;StringBuilder content = new StringBuilder();while ((line = reader.readLine()) != null) { content.append(line).append("\n");}reader.close();textArea.setText(content.toString());} catch (IOException ex) {ex.printStackTrace();}}}});saveMenuItem.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {int result = fileChooser.showSaveDialog(Notepad.this);if (result == JFileChooser.APPROVE_OPTION) {File file = fileChooser.getSelectedFile();try {BufferedWriter writer = new BufferedWriter(new FileWriter(file));writer.write(textArea.getText());writer.close();} catch (IOException ex) {ex.printStackTrace();}}}});saveAsMenuItem.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {int result = fileChooser.showSaveDialog(Notepad.this);if (result == JFileChooser.APPROVE_OPTION) {File file = fileChooser.getSelectedFile();try {BufferedWriter writer = new BufferedWriter(new FileWriter(file));writer.write(textArea.getText());writer.close();} catch (IOException ex) {ex.printStackTrace();}}}});fileMenu.add(newMenuItem);fileMenu.add(openMenuItem);fileMenu.add(saveMenuItem);fileMenu.add(saveAsMenuItem);menuBar.add(fileMenu);setJMenuBar(menuBar);}public static void main(String[] args) {SwingUtilities.invokeLater(new Runnable() {@Overridepublic void run() {new Notepad();}});}}4. 总结本文介绍了一种基于Java语言开发的简易记事本设计方案。
java记事本代码及实验报告

一、实验内容实验题目:记事本应用程序设计要求:1.分析WINDOWS “记事本程序”各主要菜单项的功能,画出详细的程序流程图2.设计完整的UI ,并实现“文件”菜单中“新建”“打开”“保存”“另存为”“退出”等 主要菜单项功能3.将各主要菜单项的程序流程图及主要代码写入实验报告二、实验过程1、写出程序的程序流程图,主要是各个功能的程序流程图 新建 打开NYN Y YN保存 另存N Y开始 isModifiedissave 调用保存函数初始化记事本 结束 开始是否打开文件 选择文件 将文件内容写入记事本 结束开始 开始 第一次保存 调用另存函数将记事本内容写入原文结束 弹出另存对话框 选择路径文件读入记事本内容设置记事本标题为文件名结束退出开始isModifiedY N调用保存函数结束2、根据程序流程图写出各个方法,新建,打开,保存,另存,退出。
三、实验结果(应先列出测试数据,要写明实验的现象,实验数据的处理等。
对于实验结果的表述,一般有三种方法:文字叙述(根据实验目的将实验结果系统化、条理化,用准确的专业术语客观地描述实验现象和结果,要有时间顺序以及各项指标在时间上的关系),图表(用表格或坐标图的方式使实验结果突出、清晰,便于相互比较,尤其适合于分组较多,且各组观察指标一致的实验,使组间异同一目了然;每一图表应有表目和计量单位,应说明一定的中心问题),屏幕截图(实验结果也可以是屏幕截图,充分表明实验的实际情况)。
在实验报告中,可任选其中一种或几种方法并用,以获得最佳效果。
)1、记事本界面布局2、功能描述a、新建:若记事本内容经过修改则提示保存;否则直接初始化记事本b、打开:选择打开的文件,将文件内容读出,写入记事本c、保存:若为第一次保存,调用另存函数;否则将文件内容存为新的记事本内容d、另存:选择另存路径,将记事本内容写入文件e、退出:若未保存或经过修改,则提示保存,调用保存函数,再退出;否则直接退出四、讨论与分析1、实验纠错:a、实验中,出现打开对话框出现两次的情况,即文件选择之后又弹出对话框,需要再选择一次,但是程序中并未出现两次调用。
java记事本实验报告

java记事本实验报告篇一:JAVA记事本实验报告(含源代码运行结果)嘉应学院计算机学院系/班别:指导老师:课程名称:实验内容:学生学号:学生姓名:实验地点:实验类型:实验时间:实验报告计算机学院1203班 Java语言程序设计用Java编写记事本第十四周至第十七周实验要求:能够通过使用JDK1.6安装开发windows 桌面应用程序。
实验目的:熟悉事件触发和事件监听以及组件和容器的界面安排,能够用java设计一个仿windows的标准型记事本。
实验过程描述:一、实验环境:网络实验室二、实验设备:PC机, 网络三、实验平台:winxp. JDK1.6过程描述:1.首先,安装JDK1.62.打开开始-》运行->输入cmd进入dos->cd 路径(原程序的路径)->javac NotepadTest.java(编绎)->java NotepadTest运行四、编写程序:import ;import ;import ;import ;import ;import ;import ;import ;import ;import ;import ;import ;import ;import ;import ;import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ;import ;import ;import ;import ;import ;import ;import ;import ;import ; import ; import ; import ;import ;import ;import ;import ;import ;import ;import ;import ;import ;import ;import ;import ;import ;import ;import ;import ;import ; import ;import ;import ;import ;import ;import ;import ;import ;import ;import ;import ;import ;import ;class MyTransferHandler extends TransferHandler { JTextArea text=null;public MyTransferHandler(JTextArea text){this.text=text;}public boolean canImport(JComponent c, DataFlavor[] flavors)//在拖放操作期间重复调用此方法,判断是否可以输入{for (int i = 0; i if (return true;}}return false;}public boolean importData(JComponent com,Transferable t){try{篇二:记事本的设计与实现Java版实验报告报告编号:第九组JAVA课程设计报告记事本的设计与实现学生姓名:指导教师:所在系:电子信息系所学专业:计算机科学与技术年级:XX年12月目录摘要 ................................................ ................................................... .. (1)第1章前言 ................................................ ................................................... . (2)1.1研究背景................................................. ................................................... . (2)1.2 开发意义................................................. ................................................... (2)1.3 本文的组织结构 ................................................ ................................................... . (2)第2章需求分析 ................................................ ................................................... . (3)2.1系统功能分析 ................................................ ................................................... (3)2.2 设计目标................................................. ................................................... (4)第3章概要设计 ................................................ ................................................... . (5)第4章详细设................................................... ..................... (7)4.1文件模块的详细设计 ................................................ ................................................... (7).............................................. (7).............................................. (8).............................................. (8).............................................. (9)4.2编辑模块的详细设计 ................................................ ................................................... (9).............................................. (9) (10).............................................. . (11).............................................. . (11).............................................. . (12).............................................. . (12).............................................. . (13)4.3格式模块的详细设计 ................................................ ................................................... . (14)第5章系统测试 ................................................ ................................................... (15)5.1 程序主界面.................................................................................................... (15)5.2文件界面................................................. ................................................... .. (15)5.3编辑菜单................................................. ................................................... .. (17)第6章小结 ................................................ ................................................... .. (27)参考文献 ................................................ ................................................... . (27)摘要本组课程设计的课题是“记事本的设计与实现”,设计的记事本系统应具有新建、打开、保存、剪切、复制、粘贴、查找、字体设置等基本功能,满足用户对文件的处理,文本文档的编辑和字体的设置等要求。
JAVA课程设计记事本(含代码)

Java程序课程设计任务书一、主要任务与目标1.掌握java语言,能够学会使用JCreator开发具体的软件。
2.使用所学知识开发一个基于Java的记事本。
二、主要内容与基本要求本程序在执行后应能处理文本编辑的一些基本功能。
根据记事本的特点,程序主要功能设计有:打开文件,读取文件中的文本信息:对原有文件可实行打开操作,并能读取文件中的内容,以方便对文件的查看,修改等任务。
显示、编辑修改文本信息:记事本对文字信息的主要处理功能。
可对相关信息进行复制,剪切,粘贴等操作。
实现新建、保存文本文件:新建文本可以使用户写入新的信息,文件保存后再次打开仍可获得原有信息。
三、计划进度1.12月28日-- 12月28日:搜集资料、查阅文献,确定选题2.12月29日-- 12月30日:需求分析,系统设计,系统功能模块完善3.1月1日-- 1月3日:编程实现系统、系统测试与修改4.1月4日-- 1月5日:课程设计报告撰写5.1月6日-- 1月7日:课程设计报告答辩四、主要参考文献(1)洪维恩何嘉 java 2面向对象程序设计. 中国铁道出版社,2004.2(2)耿祥义张跃平 Java大学实用教程(第2版).电子工业出版社,2008.5(3)孙全党王吴迪赵枫朝 Java程序设计应用教程,电子工业出版社,2006.2摘要随时着科学技术的快速发展,计算机程序设计早已成为了趋势,JAV A是计算机专业的核心课程,是计算机科学的算法理论基础和软件设计的技术基础。
JA VA是实践性很强的课程。
课程设计是加强实践能力的一个强有力手段。
要求掌握JA V A的应用、编写、上机调试的基本方法。
本课程设计就是主要利用java 语言编写的一个模仿windows 记事本的较简单的程序,它能实现打开文件,读取文件中的文本信息;显示、编辑修改文本信息;实现新建、打开、保存文本文件以及控制保存文本信息到指定的文件的一些基本功能。
该记事本是一个基于JCreator的应用程序。
用JAVA编写的一个简单记事本程序共8页

用JAVA编写的一个简单记事本程序用JAVA编写的一个简单记事本程序2019-12-30 14:27/////////////---[Notepad]---\\\\\\import java.awt.*;import java.awt.event.*;import javax.swing.*;import javax.swing.event.*;import java.*;import java.util.*;import java.io.*;public class Notepad extends JFrame implements ActionListener File file=null;Color color=Color.black;JTextPane text=new JTextPane();//the text area JDialogabout=new JDialog(this);//the dialog of"About"JFileChooser filechooser=new JFileChooser();//file choose GraphicsEnvironmentgetFont=GraphicsEnvironment.getLocalGraphicsEnvironment();Font fonts=getFont.getAllFonts();JColorChooser colorchooser=new JColorChooser();///Menu item for carte///for"File"private JMenuItem jminew,jmiopen,jmisave,jmisaveas;//for"Edit"private JMenuItem jmicut,jmicopy,jmiplaster,jmiall;//for"Format"private JMenuItem jmifont,jmicolor;//for"Tool"private JMenuItem jminotepad,jmicalculator;//for"Help"private JMenuItem jmiabout;//for"Exit"private JMenuItem jmiexit;public static void main(String args)Notepad frame=new Notepad();frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.pack();/////pack():set the size of frame automatic frame.setVisible(true);///Default Constructor public Notepad()setTitle("Notepad");setLocation(100,50);//create menu bar JMenuBar jmb=new JMenuBar();//set menu bar to the frame setJMenuBar(jmb);//add menu"File"to menu bar JMenu filemenu=new JMenu("File");filemenu.setMnemonic('F');//set hotkey jmb.add(filemenu);//add menu"Edit"to menu bar JMenu editmenu=new JMenu("Edit");editmenu.setMnemonic('E');//set hotkey jmb.add(editmenu);//add menu"Format"to menu bar JMenu formatmenu=newJMenu("Format");formatmenu.setMnemonic('T');//set hotkey jmb.add(formatmenu);//add menu"Tool"to menu bar JMenu toolmenu=new JMenu("Tool");toolmenu.setMnemonic('L');jmb.add(toolmenu);//add menu"Help"to menu bar JMenu helpmenu=new JMenu("Help");helpmenu.setMnemonic('H');//set hotkey jmb.add(helpmenu);//add menu"Exit"to menu bar JMenu exitmenu=new JMenu("Exit");exitmenu.setMnemonic('X');jmb.add(exitmenu);//add menu item with mnemonics to menu"File"filemenu.add(jminew=new JMenuItem("New",'N'));jminew.setIcon(new ImageIcon("images/Handle.gif"));filemenu.add(jmiopen=new JMenuItem("Open",'O'));jmiopen.setIcon(new ImageIcon("images/folderOpen.gif"));filemenu.add(jmisave=new JMenuItem("Save",'S'));jmisave.setIcon(new ImageIcon("images/3.gif"));filemenu.addSeparator();filemenu.add(jmisaveas=new JMenuItem("Save as"));jmisaveas.setIcon(new ImageIcon("images/7.gif"));//set keyboard accelerators jminew.setAccelerator( KeyStroke.getKeyStroke(KeyEvent.VK_N,ActionEvent.CTRL_MASK));jmiopen.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_O,ActionEvent.CTRL_MASK));jmisave.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S,ActionEvent.CTRL_MASK));//add menu item with mnemonics to menu"Edit"editmenu.add(jmicut=new JMenuItem("Cut",'X'));jmicut.setIcon(new ImageIcon("images/face1.gif"));editmenu.add(jmicopy=new JMenuItem("Copy",'C'));jmicopy.setIcon(new ImageIcon("images/face2.gif"));editmenu.add(jmiplaster=new JMenuItem("Plaster",'V'));jmiplaster.setIcon(new ImageIcon("images/face3.gif"));editmenu.addSeparator();editmenu.add(jmiall=new JMenuItem("All"));jmiall.setIcon(new ImageIcon("images/face4.gif"));//set keyboard accelerators jmicut.setAccelerator( KeyStroke.getKeyStroke(KeyEvent.VK_X,ActionEvent.CTRL_MASK));jmicopy.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_C,ActionEvent.CTRL_MASK));jmiplaster.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_V,ActionEvent.CTRL_MASK));jmiall.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_A,ActionEvent.CTRL_MASK));//add menu item with mnemonics to menu"Format"formatmenu.add(jmifont=new JMenuItem("Font"));jmifont.setIcon(new ImageIcon("images/face12.gif"));formatmenu.addSeparator();formatmenu.add(jmicolor=new JMenuItem("Color"));jmicolor.setIcon(new ImageIcon("images/face13.gif"));//add menu item with mnemonics to menu"Format"toolmenu.add(jminotepad=new JMenuItem("MS Notepad"));jminotepad.setIcon(new ImageIcon("images/face5.gif"));toolmenu.addSeparator();toolmenu.add(jmicalculator=new JMenuItem("MS Calculator"));jmicalculator.setIcon(new ImageIcon("images/face11.gif"));//add menu item with mnemonics to menu"Help"helpmenu.add(jmiabout=new JMenuItem("About"));jmiabout.setIcon(new ImageIcon("images/face10.gif"));//add menu item with mnemonics to menu"Exit"exitmenu.add(jmiexit=new JMenuItem("Exit"));jmiexit.setIcon(new ImageIcon("images/face6.gif"));//add textpane to notepad//textpane initialize setFont(new Font("Times New Roman",Font.PLAIN,12));JScrollPane scrollpane=new JScrollPane(text);scrollpane.setPreferredSize(new Dimension(600,500));getContentPane().add(scrollpane);///set the name of control,set the listenerjminew.addActionListener(this);jmiopen.addActionListener(this);jmisave.addActionListener(this);jmisaveas.addActionListener(this);jmicut.addActionListener(this);jmicopy.addActionListener(this);jmiplaster.addActionListener(this);jmiall.addActionListener(this);jmifont.addActionListener(this);jmicolor.addActionListener(this);jminotepad.addActionListener(this);jmicalculator.addActionListener(this);jmiabout.addActionListener(this);jmiexit.addActionListener(this);///affair dispose public void actionPerformed(ActionEvent e) //JMenuItem mi=(JMenuItem)e.getSource();String name=e.getActionCommand();//the methodological of jminew if(e.getSource()instanceof JMenuItem)//new if("New".equals(name))text.setText("");file=null;//open if("Open".equals(name))if(file!=null)filechooser.setSelectedFile(file);int returnVal=filechooser.showOpenDialog(Notepad.this);if(returnVal==JFileChooser.APPROVE_OPTION)file=filechooser.getSelectedFile();///the operation for"open"tryFileReader fr=new FileReader(file);int len=(int)file.length();char buffer=new char[len];fr.read(buffer,0,len);fr.close();text.setText(new String(buffer));catch(Exception e_open)e_open.printStackTrace();//save if("Save".equals(name))if(file!=null)filechooser.setSelectedFile(file);int returnVal=filechooser.showSaveDialog(Notepad.this);if(returnVal==JFileChooser.APPROVE_OPTION)file=filechooser.getSelectedFile();tryFileWriter fw=new FileWriter(file);fw.write(text.getText());fw.close();catch(Exception e_save)e_save.printStackTrace();//cut if("Cut".equals(name))text.cut();//copy if("Copy".equals(name))text.copy();//plaster if("Plaster".equals(name))text.paste();//All if("All".equals(name))text.selectAll();//font if("Font".equals(name))//color if("Color".equals(name))color=JColorChooser.showDialog(Notepad.this,"",color);text.setForeground(color);//ms notepad if("MS Notepad".equals(name))tryString command="notepad.exe";Process child=Runtime.getRuntime().exec(command);catch(IOException ex)//ms calculator if("MS Calculator".equals(name))tryString command="calc.exe";Process child=Runtime.getRuntime().exec(command);catch(IOException ex)//exit if("Exit".equals(name))System.exit(0);//about if("About".equals(name))about.setLayout(new GridLayout(6,1));about.setTitle("Notepad About.");about.setSize(320,280);about.getContentPane().setBackground(Color.yellow);//add image on the label JLabel jlbfirst=new JLabel();jlbfirst.setIcon(new ImageIcon("images/wx2.gif"));about.getContentPane().add(jlbfirst);about.getContentPane().add(new JLabel("Star(X)"));about.getContentPane().add(new JLabel("Edition 1.0(author:Hu MingXing)"));about.getContentPane().add(new JLabel("copyrightpossession(C)2019.2.3 Star Corp."));about.getContentPane().add(new JLabel("The product accord with consumer agreement"));about.setModal(true);about.show();特别声明:1:资料来源于互联网,版权归属原作者2:资料内容属于网络意见,与本账号立场无关3:如有侵权,请告知,立即删除。
《Java》课程设计》记事本

《Java课程设计》记事本课程设计报告书目录一、设计课题二、设计目的三、操作环境四、设计场所(机房号、机器号或自己机器)五、设计过程(设计内容及主要程序模块)六、本次设计中用到的课程知识点(列出主要知识点)七、设计过程中遇到的问题及解决办法八、程序清单五、设计过程(设计内容及主要模块,不少于3000字)1.设计要求1)界面设计2)功能实现(1)文件菜单:新建、打开、保存、另存为、退出等。
(2)其中新建菜单项可以新建一个记事本程序;打开菜单项可以打开一个用户指定的文本文件,并将其内容显示在记事本的文本区域;保存和另存为菜单项可分别实现文件的保存和另存为3)编辑菜单:复制、剪切和粘贴等4)帮助菜单:软件版本信5)右键弹出快捷菜单2.总体设计1)功能模块图:图一功能模块图2)功能描述1、打开记事本。
首先是标准型的记事本,拥有文件、编辑。
格式和帮助。
如图1所示:图1标准型记事本界面2、在标准型的记事本界面中,进行的新建一个本件名字叫新记事本。
如图2记事本文件帮助新建打开保存另存为退出复制剪切粘贴编辑关于记事本右键快捷格式字体颜色图2新建记事本功能3、用打开文件打开刚刚新建的新记事本。
如图三所示。
图3—打开文件4、点击退出即可退出,如图4所示:图4—退出记事本5、点击帮助可以看到有关记事本的相关信息,其中有作者名、版本、许可条款、隐私声明等必要信息。
如图5所示:图5—帮助相关信息6、右键可实现复制、粘贴、剪切、清除等常用功能,方便用户可以快捷方便的使用记事本。
如图6所示:图6—右键功能7、编辑也可实现制、粘贴、剪切、清除等常用功能,方便用户选择自己适合的方式,自由选择方便的快捷方式使用。
如图7:图7—编辑八、程序清单package test;import java.io.File;import java.io.*;import java.awt.event.*;import java.awt.Toolkit;import java.awt.*;import javax.swing.*;import javax.swing.filechooser.*;public class Notebook extends JFrame implements ActionListener,ItemListener{ //组件创建JButton b_save,b_close; //按钮JTextArea textArea; //文本框File tempFile; //文件JPanel jp; //面板JMenu file,edit,style,help; //菜单JMenuItemf_new,f_open,f_save,f_close,f_saveas,e_copy, e_paste,e_cut,e_clear,e_selectAll,e_find,e_rep lace,s_font,s_color,h_editor,h_help; //菜单条JMenuBar jmb;JScrollPane jsp; //滚动面板JPopupMenu popUpMenu = new JPopupMenu(); //右键弹出式菜单JLabel stateBar;//标签JLabel jl,jj;JFileChooser jfc = new JFileChooser(); //文件选择JMenuItemje_copy,je_paste,je_cut,je_clear,je_selectAll,je _find,je_replace; //弹出式菜单条public Notebook(){jfc.addChoosableFileFilter(new FileNameExtensionFilter("文本文件(*.txt)","txt"));jmb = new JMenuBar();textArea = new JTextArea();jsp = new JScrollPane(textArea);file = new JMenu("文件");edit = new JMenu("编辑");style = new JMenu("格式");help = new JMenu("帮助");je_copy = new JMenuItem("复制(C) ");je_paste = new JMenuItem("粘贴(P) ");je_cut = new JMenuItem("剪切(X) ");je_clear = new JMenuItem("清除(D) ");je_selectAll = new JMenuItem("全选(A) ");je_find = new JMenuItem("查找(F) ");je_replace = new JMenuItem("替换(R) ");je_copy.addActionListener(this); //给弹窗式的各组件添加监听器je_paste.addActionListener(this);je_cut.addActionListener(this);je_clear.addActionListener(this);je_selectAll.addActionListener(this);je_find.addActionListener(this);je_replace.addActionListener(this);//给界面上方的菜单条添加监听器f_new = new JMenuItem("新建(N)");f_new.setAccelerator(KeyStroke.getKeyS troke('N',InputEvent.CTRL_MASK,false)); //设置带修饰符快捷键f_new.addActionListener(this);f_open = new JMenuItem("打开(O)");f_open.setAccelerator(KeyStroke.getKey Stroke('O',InputEvent.CTRL_MASK,false));f_open.addActionListener(this);f_save = new JMenuItem("保存(S)");f_save.setAccelerator(KeyStroke.getKey Stroke('S',InputEvent.CTRL_MASK,false));f_save.addActionListener(this);f_saveas = new JMenuItem("另存为");f_saveas.setAccelerator(KeyStroke.getKe yStroke(KeyEvent.VK_S,InputEvent.CTRL_ MASK|InputEvent.SHIFT_MASK));f_saveas.addActionListener(this);f_close = new JMenuItem("退出(W)");f_close.setAccelerator(KeyStroke.getKey Stroke('W',InputEvent.CTRL_MASK,false));f_close.addActionListener(this);e_copy = new JMenuItem("复制(C)");e_copy.setAccelerator(KeyStroke.getKey Stroke('C',InputEvent.CTRL_MASK,false));e_copy.addActionListener(this);e_paste = new JMenuItem("粘贴(V)");e_paste.setAccelerator(KeyStroke.getKeyStro ke('V',InputEvent.CTRL_MASK,false));e_paste.addActionListener(this);e_cut = new JMenuItem("剪切(X)"); e_cut.setAccelerator(KeyStroke.getKeyStroke ('X',InputEvent.CTRL_MASK,false));e_cut.addActionListener(this);e_clear = new JMenuItem("清除(D)");e_clear.setAccelerator(KeyStroke.getKeyStrok e('D',InputEvent.CTRL_MASK,false));e_clear.addActionListener(this);e_selectAll = new JMenuItem("全选(A)");e_selectAll.setAccelerator(KeyStroke.getKey Stroke('A',InputEvent.CTRL_MASK,false));e_selectAll.addActionListener(this);e_find = new JMenuItem("查找(F)");e_find.setAccelerator(KeyStroke.getKeyStrok e('F',InputEvent.CTRL_MASK,false));e_copy.addActionListener(this);e_replace = new JMenuItem("替换(R)");e_replace.setAccelerator(KeyStroke.getK eyStroke('R',InputEvent.CTRL_MASK,false)) ;e_replace.addActionListener(this);s_font = new JMenuItem("字体(T)");s_font.setAccelerator(KeyStroke.getKeyStrok e('T',InputEvent.CTRL_MASK,false));s_font.addActionListener(this);s_color = new JMenuItem("颜色(C)...");s_color.setAccelerator(KeyStroke.getKeyStro ke(KeyEvent.VK_C,InputEvent.CTRL_MAS K | InputEvent.SHIFT_MASK));s_color.addActionListener(this);h_editor = new JMenuItem("关于记事本");h_editor.setAccelerator(KeyStroke.getKeyStro ke(KeyEvent.VK_E,InputEvent.CTRL_MAS K));h_editor.addActionListener(this);h_help = new JMenuItem("帮助信息(H)");h_help.setAccelerator(KeyStroke.getKeyStrok e(KeyEvent.VK_I,InputEvent.CTRL_MASK) );h_help.addActionListener(this);//添加右键弹出式菜单popUpMenu.add(je_copy);popUpMenu.add(je_paste);popUpMenu.add(je_cut);popUpMenu.add(je_clear);popUpMenu.addSeparator();popUpMenu.add(je_selectAll);popUpMenu.add(je_find);popUpMenu.add(je_replace);//编辑区鼠标事件,点击右键弹出"编辑"菜单textArea.addMouseListener(new MouseAdapter(){public void mouseReleased(MouseEvent e) {if(e.getButton() == MouseEvent.BUTTON3)popUpMenu.show(e.getComponent(), e.getX(), e.getY());} //e.getComponent()和textArea具有同等效果public void mouseClicked(MouseEvent e){if(e.getButton() == MouseEvent.BUTTON1)popUpMenu.setVisible(false);}});this.setJMenuBar(jmb);this.setTitle("记事本程序");file.add(f_new); //添加文件菜单组件file.add(f_open);file.addSeparator(); //加分隔线file.add(f_save);file.add(f_saveas);file.addSeparator();file.add(f_close);edit.add(e_copy); //添加编辑菜单组件edit.add(e_paste);edit.add(e_cut);edit.add(e_clear);edit.addSeparator();edit.add(e_selectAll);edit.add(e_find);edit.add(e_replace);style.addSeparator();style.add(s_font);style.add(s_color);jmb.add(file); //添加格式菜单组件jmb.add(edit);jmb.add(style);jmb.add(help);help.add(h_editor); //添加帮助菜单组件help.add(h_help);//textArea.setWrapStyleWord(true); //设置在单词过长的时候是否要把长单词移到下一行。
合肥学院java实验 7-8--简易记事本

import javax.swing.JTextArea;import javax.swing.JFrame;import java.awt.PopupMenu;import java.awt.Menu;import java.awt.MenuShortcut;import java.awt.event.ActionListener;import java.awt.event.MouseListener;import java.awt.event.WindowListener;import java.awt.event.ActionEvent;import java.awt.event.WindowEvent;import java.awt.event.MouseEvent;import java.awt.MenuBar;import java.awt.CheckboxMenuItem;import javax.swing.undo.UndoManager;import javax.swing.event.UndoableEditEvent;import javax.swing.event.UndoableEditListener;import java.awt.event.KeyEvent;import java.awt.MenuItem;import java.awt.Font;public class SimpleMenu implements ActionListener,MouseListener,WindowListener,UndoableEditListener{private JTextArea area=new JTextArea(15,50);private JFrame frame = new JFrame("Alex.。
制作:记事本");private MenuBar muBar = new MenuBar();PopupMenu pop = new PopupMenu();Font Ft = new Font("楷体",Font.ROMAN_BASELINE,18);UndoManager um = new UndoManager();//××××××××××××××××××××××××××××××××××××××状态栏菜单↓×××××××××××Menu file= new Menu("文件");Menu edit = new Menu("编辑");MenuItem newItem= new MenuItem("新建",new MenuShortcut(KeyEvent.VK_N));MenuItem saveItem= new MenuItem("保存",new MenuShortcut(KeyEvent.VK_S));MenuItem exitItem= new MenuItem("退出",new MenuShortcut(KeyEvent.VK_Q));MenuItem allItem= new MenuItem("全选",new MenuShortcut(KeyEvent.VK_A));MenuItem copyItem= new MenuItem("复制",new MenuShortcut(KeyEvent.VK_C));MenuItem shearItem= new MenuItem("剪切",new MenuShortcut(KeyEvent.VK_X));MenuItem pasteItem= new MenuItem("粘贴",new MenuShortcut(KeyEvent.VK_V));MenuItem revokeItem=new MenuItem("撤销",new MenuShortcut(KeyEvent.VK_Z));CheckboxMenuItem autoWrap=new CheckboxMenuItem("自动换行");Menu note=new Menu("注释");MenuItem noteItem=new MenuItem("注释",new MenuShortcut(KeyEvent.VK_N,true));MenuItem unnoteItem=new MenuItem("取消注释",new MenuShortcut(KeyEvent.VK_U,true));CheckboxMenuItem autoWrap2=new CheckboxMenuItem("自动换行");//××××××××××××××××××××××××××××××××××××××鼠标右键菜单↓××××××××××MenuItem copyMouse=new MenuItem("复制");MenuItem pasteMouse=new MenuItem("粘贴");MenuItem allMouse=new MenuItem("全选");MenuItem shearMouse=new MenuItem("剪切");MenuItem revokeMouse=new MenuItem("撤销");Menu note2=new Menu("注释");MenuItem noteMouse=new MenuItem("注释");MenuItem unnoteMouse=new MenuItem("取消注释");public void init(){frame.setBounds(260, 120,0,0);frame.setFont(Ft);area.setFont(Ft);//二维文本域设置字体muBar.add(file);muBar.add(edit);file.add(newItem);file.add(saveItem);file.add(exitItem);edit.add(autoWrap);edit.addSeparator();//加分割符edit.add(allItem);edit.add(copyItem);edit.add(revokeItem);edit.add(shearItem);edit.add(pasteItem);edit.addSeparator();//加分割符edit.add(note);note.add(noteItem);note.add(unnoteItem);//菜单栏设置完成↑//××××××××××××××××××××××××××××××↑×××××××××××××××××××××××××××××××××××××××××××area.add(pop);pop.add(autoWrap2);pop.addSeparator();pop.add(allMouse);pop.add(copyMouse);pop.add(shearMouse);pop.add(pasteMouse);pop.add(revokeMouse);pop.addSeparator();pop.add(note2);note2.add(noteMouse);note2.add(unnoteMouse);//右键菜单设置完成↑↑//××××××××××××××××××××××××××××××↑×××××××××××××××××××××××××××××××××××××××××××area.addMouseListener(this);area.getDocument().addUndoableEditListener(um);allItem.addActionListener(this);allMouse.addActionListener(this);exitItem.addActionListener(this);frame.addWindowListener(this);noteItem.addActionListener(this);noteMouse.addActionListener(this);pasteItem.addActionListener(this);pasteMouse.addActionListener(this);revokeItem.addActionListener(this);revokeMouse.addActionListener(this);shearItem.addActionListener(this);shearMouse.addActionListener(this);unnoteItem.addActionListener(this);unnoteMouse.addActionListener(this);//监视器安装完成↑↑//××××××××××××××××××××××××××××××↑×××××××××××××××××××××××××××××××××××××××××××frame.setMenuBar(muBar);frame.add(area);frame.pack();frame.setVisible(true);}public void mouseClicked(MouseEvent e){}public void mouseExited(MouseEvent e){}public void mouseEntered(MouseEvent e){}public void mousePressed(MouseEvent e){}public void mouseReleased(MouseEvent e){if(e.isPopupTrigger()){pop.show(area,e.getX(),e.getY());}}public void windowClosed(WindowEvent e){}public void windowDeactivated(WindowEvent e){}public void windowIconified(WindowEvent e){}public void windowClosing(WindowEvent e){frame.dispose();}public void windowActivated(WindowEvent e){}public void windowOpened(WindowEvent e){}public void windowDeiconified(WindowEvent e){}public void undoableEditHappened(UndoableEditEvent e){}public void actionPerformed(ActionEvent e){if(e.getSource()==exitItem)frame.dispose();else if((e.getSource()==pasteItem)||(e.getSource()==pasteMouse))area.paste();else if((e.getSource()==copyItem)||(e.getSource()==copyMouse))area.copy();else if((e.getSource()==shearItem)||(e.getSource()==shearMouse))area.cut();else if((e.getSource()==allItem)||(e.getSource()==allMouse))area.selectAll();elseif((e.getSource()==revokeItem)||(e.getSource()==revokeMouse)&&(um.canUndo())) um.undo();}public static void main(String args[]){new SimpleMenu().init();}}。
用Java实现历记事本

public class Year extends Box implements ActionListener {
int year;
JTextField showYear=null;
JButton Year1,Year2;
CalendarPad CAL;
public Year(CalendarPad CAL) {
}
public void setYear(int y) {
year=y;
(year);
}
public int getMonth() {
return month;
}
public void setMonth(int m) {
month=m;
(month);
}
public int getDay() {
return day;
JTextField source=(JTextField)();
try {
day=());
(day);
(year,month,day);
(null);
}
catch(Exception ee) {}
}
public void mouseClicked(MouseEvent e){}
public void mouseReleased(MouseEvent e){}
if(n==day) {
showDay[i].setForeground;
showDay[i].setFont(new Font("TimesRoman",,20));
}
else {
showDay[i].setFont(new Font("TimesRoman",,12));
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《Java程序设计》
课程实验报告(第7次)
学院:数学与计算机学院
姓名:
学号:
专业:计算机科学与技术
班级:15级计本
实验地点:分析测试中心6A-4
实验时间:
指导教师:
实验名称:输入输出流
所使用的开发工具及环境:JDK1.8+Eclpise
实验目的:
1.掌握File类对象的创建及常用方法的使用
2.掌握字节输入输出流
(FileInputStream,FileOutputStream,FileReader,FileWriter,BufferedReader,Buf feredWriter)
3.理解流的概念和划分
4.掌握文件描述,顺序处理,随机访问处理的方法;
5.能够熟练的使用过滤流;
6.掌握字符流处理的方法,字符流和字节流之间的转换
7.理解对象串行化的概念和方法。
实验内容:
MenuBar,JMenu,JMenuItem,JTextArea,JFileChooser,FileReader,FileWriter, File的用法类实现文件的读写
实验要求:编写一个Java应用程序,实现记事本的新建,打开,保存,另存为文件的功能。
程序运行效果示例:程序运行效果如下图所示:
参考程序:
package showfile;
import java.awt.BorderLayout;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import javax.swing.*;
public class Window extends JFrame implements ActionListener{ JFileChooser openFile,saveFiel;
JPanel panel,panel2;
JButton openBut,saveBut;
JTextArea area;
File file=null;
FileReader fis=null;
String path=null;
public void init(){
panel=new JPanel();
panel2=new JPanel();
panel.setLayout(new BorderLayout());
openBut=new JButton("打开");
saveBut=new JButton("保存");
panel2.add(openBut);
panel2.add(saveBut);
area.setForeground(color);
}
publicvoid exitPro(){
System.exit(0);
}
@Override
publicvoid actionPerformed(ActionEvent e) { // TODO Auto-generated method stub
JMenuItem item=(JMenuItem)e.getSource();
if(item==open){
openFile();
}elseif(item==save){
saveFile();
}elseif(item==fontColor){
setFontColor();
}elseif(item==saveAs){
saveAsFile();
}elseif(item==newfile){
newFile();
}else{
exitPro();
}
}
}。