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简单记事本
Java简易记事本编写课题:设计一个简单的Windows记事本,可以实现以下功能1、文件的新建、打开、保存、另存为和退出;2、对文件的编辑,如复制、粘贴、剪切、替换等;3、执行完操作后,能够顺利关闭记事本。
源码:package MyPad;import java.awt.Event;import java.awt.FlowLayout;import java.awt.event.KeyEvent;import java.awt.event.MouseAdapter;import java.awt.event.MouseEvent;import java.io.BufferedOutputStream;import java.io.BufferedReader;import java.io.File;import java.io.;import java.io.;import java.io.IOException;import javax.swing.JButton;import javax.swing.J;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JMenu;import javax.swing.JMenuBar;import javax.swing.JMenuItem;import javax.swing.JOptionPane;import javax.swing.JScrollPane;import javax.swing.JTextArea;import javax.swing.JTextField;import javax.swing.KeyStroke;publicclass MyPad {static String path = "";publicstaticvoid main(String[] args) {// 设置主窗体JFrame jf = new JFrame("MyPad");jf.setBounds(220, 90, 800, 600);jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);final JFrame frame = new JFrame("替换");frame.setBounds(220, 90, 300, 250);JLabel l1 = new JLabel(" 原字符串");frame.add(l1);final JTextField tf1 = new JTextField();tf1.setColumns(15);frame.add(tf1);JLabel l2 = new JLabel(" 替换为");final JTextField tf2 = new JTextField();tf2.setColumns(15);JButton button = new JButton("确定");frame.setLayout(new FlowLayout());frame.add(l2);frame.add(tf2);frame.add(button);// 设置菜单栏JMenuBar jmbar = new JMenuBar();jf.setJMenuBar(jmbar);// ===============设置文件菜单===================== JMenu = new JMenu("文件(F)");JMenuItem newitem = new JMenuItem("新建(N)");JMenuItem openitem = new JMenuItem("打开(O)");// openitem.setMnemonic('O');JMenuItem saveitem = new JMenuItem("保存(S)");JMenuItem lsaveitem = new JMenuItem("另存为(A)");JMenuItem exititem = new JMenuItem("退出(X)");jmbar.add();(newitem);(openitem);(saveitem);(lsaveitem);();(exititem);// ===============设置编辑菜单===================== JMenu editmenu = new JMenu("编辑(E)");JMenuItem cutitem = new JMenuItem("剪切(T)");JMenuItem copyitem = new JMenuItem("复制(C)");JMenuItem pasteitem = new JMenuItem("粘贴(P)");JMenuItem replaceitem = new JMenuItem("替换(R)");jmbar.add(editmenu);editmenu.add(cutitem);editmenu.add(copyitem);editmenu.add(pasteitem);editmenu.add(replaceitem);// ===============设置帮助菜单=====================JMenu helpmenu = new JMenu("帮助(H)");JMenuItem helpitem = new JMenuItem("MyPad说明(A)");jmbar.add(helpmenu);helpmenu.add(helpitem);final JTextArea text = new JTextArea();JScrollPane jsp = new JScrollPane(text);jf.add(jsp);jf.setVisible(true);// ===============设置快捷键=====================newitem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_N, Event.CTRL_MASK));openitem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_O, Event.CTRL_MASK));saveitem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S, Event.CTRL_MASK));cutitem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_X, Event.CTRL_MASK));copyitem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_C, Event.CTRL_MASK));pasteitem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_V, Event.CTRL_MASK));replaceitem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_H, Event.CTRL_MASK));// ===============实现新建功能=====================newitem.addMouseListener(new MouseAdapter() {@Overridepublicvoid mouseReleased(MouseEvent e) {if (text.getText().equals(""))text.setText("");else {int value = JOptionPane.showConfirmDialog(null, "是否要保存文本?", "提示", JOptionPane.YES_NO_OPTION);String text_ = text.getText();if (value == JOptionPane.YES_OPTION)try {lsave(text_);} catch (IOException e1) {e1.printStackTrace();}text.setText("");}}});// ===============实现打开功能=====================openitem.addMouseListener(new MouseAdapter() {@Overridepublicvoid mouseReleased(MouseEvent e) {if (text.getText().equals(""))nw(text);else {int value = JOptionPane.showConfirmDialog(null, "是否要保存文本?", "提示", JOptionPane.YES_NO_OPTION);String text_ = text.getText();if (value == JOptionPane.YES_OPTION)try {lsave(text_);} catch (IOException e1) {e1.printStackTrace();}elseif (value == JOptionPane.NO_OPTION)text.setText("");elsereturn;nw(text);}}});// ===============实现保存功能=====================saveitem.addMouseListener(new MouseAdapter() {@Overridepublicvoid mouseReleased(MouseEvent e) {String text_ = text.getText();try {save(text_);} catch (IOException e1) {e1.printStackTrace();}}});// ===============实现另存为功能=====================lsaveitem.addMouseListener(new MouseAdapter() {@Overridepublicvoid mouseReleased(MouseEvent e) {String text_ = text.getText();try {lsave(text_);} catch (IOException e1) {e1.printStackTrace();}}});// ===============实现退出功能=====================exititem.addMouseListener(new MouseAdapter() {@Overridepublicvoid mouseReleased(MouseEvent e) {if (text.getText().equals(""))System.exit(0);else {int value = JOptionPane.showConfirmDialog(null, "是否要保存文本?", "提示", JOptionPane.YES_NO_OPTION);String text_ = text.getText();if (value == JOptionPane.YES_OPTION)try {lsave(text_);} catch (IOException e1) {e1.printStackTrace();}System.exit(0);}}});// ===============实现剪切功能===================== cutitem.addMouseListener(new MouseAdapter() {@Overridepublicvoid mouseReleased(MouseEvent e) {text.cut();}});// ===============实现复制功能===================== copyitem.addMouseListener(new MouseAdapter() { @Overridepublicvoid mouseReleased(MouseEvent e) {text.copy();}});// ===============实现粘贴功能===================== pasteitem.addMouseListener(new MouseAdapter() { @Overridepublicvoid mouseReleased(MouseEvent e) {text.paste();}});// ===============实现替换功能===================== replaceitem.addMouseListener(new MouseAdapter() {@Overridepublicvoid mouseReleased(MouseEvent e) {frame.setVisible(true);}});button.addMouseListener(new MouseAdapter() {@Overridepublicvoid mouseReleased(MouseEvent e) {String reptext =text.getText().replaceAll(tf1.getText(),tf2.getText());text.setText("");text.append(reptext);}});// ===============实现MyPad说明功能================helpitem.addMouseListener(new MouseAdapter() {@Overridepublicvoid mouseReleased(MouseEvent e) {JOptionPane.showOptionDialog(null, "程序名称:\n MyPad \n"+ "程序设计:\n Java课程设计 \n" + "简介:\n 一个简单的文字编辑器\n"+ " 制作: 软件工程小Y\n" + "联系方式:******@","关于MyPad", JOptionPane.DEFAULT_OPTION,RMATION_MESSAGE, null, null, null);}});}// Mainpublicstaticvoid open file, JTextArea text) throws IOException {BufferedReader bufr = new BufferedReader(new (file));String line = null;while ((line = bufr.readLine()) != null) {text.append(line);text.append("\r\n");}bufr.close();}publicstaticvoid nw(JTextArea text) {J chooser = new J();if (chooser.showOpenDialog(chooser) == J.APPROVE_OPTION) {String path = chooser.getSelectedFile().getAbsolutePath();= new );try {open, text);} catch (IOException e1) {e1.printStackTrace();}}}publicstaticvoid lsave(String text) throws IOException { J chooser = new J();= null;if (chooser.showSaveDialog(chooser) == J.APPROVE_OPTION) { {path = chooser.getSelectedFile().getAbsolutePath();file = new );save, text);}}}publicstaticvoid save(String text) throws IOException {J chooser = new J();= null;if (path.equals("")) {if (chooser.showSaveDialog(chooser) == J.APPROVE_OPTION) { path = chooser.getSelectedFile().getAbsolutePath();} elsereturn;}file = new );save, text);}publicstaticvoid save file, String text) throws IOException {byte[] b = text.getBytes();if ( null) {BufferedOutputStream bufw = new BufferedOutputStream( new (file));bufw.write(b, 0, b.length);bufw.close();}}}。
java记事本编译
java记事本编译Java记事本编译引言:Java记事本是一款基于Java语言开发的文本编辑工具,具备简洁、高效的特点。
本文将介绍Java记事本的编译过程,以及一些常见功能的实现原理。
一、Java记事本的编译过程Java记事本的编译过程主要包括以下几个步骤:1. 词法分析:将源代码分割成一个个的词法单元,如关键字、标识符、运算符等,以便后续处理。
2. 语法分析:根据语法规则,构建语法树,检查程序是否符合语法规范。
3. 语义分析:对语法树进行语义检查,如类型检查、作用域检查等,以确保程序的正确性。
4. 中间代码生成:将语法树转换为中间代码,如三地址码、虚拟机指令等。
5. 代码优化:对中间代码进行优化,以提高程序的运行效率。
6. 目标代码生成:将优化后的中间代码转换为目标机器代码,使得程序可以在特定平台上运行。
7. 目标代码链接:将程序所需的各个目标文件链接在一起,生成可执行文件。
二、Java记事本的常见功能实现原理Java记事本作为一款文本编辑工具,提供了许多常见的功能,下面将介绍其中一些功能的实现原理。
1. 新建文件:用户通过点击菜单或快捷键等方式触发新建文件操作。
Java记事本通过创建一个空的文本文件,并在界面上显示出来,实现新建文件的功能。
2. 打开文件:用户选择要打开的文件,Java记事本通过读取文件的内容,并将其显示在界面上,实现打开文件的功能。
3. 保存文件:用户在编辑完成后,通过点击菜单或快捷键等方式触发保存文件操作。
Java记事本将用户编辑的内容保存到文件中,实现保存文件的功能。
4. 复制、剪切和粘贴:用户选择要复制或剪切的文本,Java记事本将选中的文本存储到剪贴板中。
用户点击粘贴按钮时,Java记事本从剪贴板中读取内容,并将其插入到光标位置,实现复制、剪切和粘贴的功能。
5. 撤销和重做:用户在编辑过程中,可以通过点击撤销按钮或使用快捷键来撤销上一次的操作。
Java记事本通过维护一个操作历史记录,实现撤销和重做的功能。
用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简易记事本实验报告
java简易记事本实验报告Java简易记事本实验报告一、实验目的•学习使用Java编程语言•熟悉图形用户界面(GUI)的设计与实现•掌握文件读写操作二、实验背景近年来,随着信息技术的快速发展,电子设备普及程度日益增加。
人们习惯使用记事本软件记录临时笔记、备忘、任务清单等信息。
因此,本次实验旨在通过Java编写一个简易的记事本应用程序,以满足人们的基本需求。
三、实验过程1.学习Java编程语言基础知识,包括变量、数据类型、循环、条件语句等。
2.了解图形用户界面(GUI)设计原理和相关组件。
3.使用Java Swing库设计记事本的用户界面,包括菜单栏、工具栏、文本框等。
4.实现文件读写功能,使得用户可以保存和打开文本文件。
5.添加其他功能,如剪切、复制、粘贴、查找、替换等。
四、实验结果通过以上实验过程,我们成功设计并实现了一个简易的记事本应用程序。
这个程序具备了基本的文本编辑功能,并支持文件的保存和打开。
五、实验总结本次实验是一个较为基础的Java编程实践,通过设计和开发一个简易的记事本应用程序,我们熟悉了Java编程语言的使用,掌握了图形用户界面的设计与实现,加深了对文件读写操作的理解。
在实验过程中,我们遵循了一定的规则和步骤,通过列点方式对实验目的、过程和结果进行了总结。
这样的总结方式清晰明了,便于读者理解和回顾。
通过本次实验,我们不仅提升了Java编程能力,还培养了问题解决和团队合作的能力。
我们相信,通过不断实践和学习,我们的能力会不断提高,创造出更加优秀的应用程序。
六、改进方向虽然我们已经成功实现了一个简易的记事本应用程序,但仍有一些改进的方向可以考虑:1.添加更多的编辑功能:除了基本的剪切、复制、粘贴功能,可以考虑添加撤销、重做、全选、自动保存等功能,以提升用户的编辑体验。
2.改善用户界面设计:可以进一步优化用户界面的布局和样式,提升用户的使用感受。
可以考虑添加主题切换功能,让用户可以根据自己的喜好选择不同的界面风格。
JAVA--简单记事本源代码
JAVA--简单记事本源代码import javax.swing.JFrame;import javax.swing.JTextArea;import java.awt.*;import java.awt.event.*;import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.FileReader;import java.io.FileWriter;import javax.swing.*;import javax.swing.plaf.FileChooserUI;public class notepad extends JFrame implements ActionListener{//定义所需要的组件JTextArea jta=null;JMenuBar jmb=null;JMenu jm=null;JMenuItem jmi1=null;JMenuItem jmi2=null;public static void main(String[]args){new notepad();}public notepad(){//把组件添加到窗体上jta=new JTextArea();jmb=new JMenuBar();this.add(jta);this.setJMenuBar(jmb);//设置窗体属性this.setTitle("简易记事本");this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.setSize(400, 300);this.setVisible(true);//把菜单添加进菜单条jm=new JMenu("⽂件");jm.setMnemonic('f');jmb.add(jm);//把⼦菜单加⼊⾄菜单jmi1=new JMenuItem("打开");jmi2=new JMenuItem("保存");jmi1.setActionCommand("open");jmi2.setActionCommand("save");jm.add(jmi1);jm.add(jmi2);//为两个字菜单注册事件监听jmi1.addActionListener(this);jmi2.addActionListener(this);}public void actionPerformed(ActionEvent e){//对点击了打开进⾏处理if(e.getActionCommand().equals("open")){//创建⼀个⽂件选择组件JFileChooser jfc1=new JFileChooser();//设置⽂件选择器的名字jfc1.setDialogTitle("请选择⽂件....");//设置⽂件选择组件的类型(打开类型)jfc1.showOpenDialog(null);//显⽰该组件jfc1.setVisible(true);//获取选择⽂件的绝对路径String s;s=jfc1.getSelectedFile().getAbsolutePath();//将该⽂件显⽰到记事本上BufferedReader br=null;FileReader fr=null;try{//创建⼀个带缓冲的⽂件读取对象fr=new FileReader(s);br=new BufferedReader(fr);String text="";String m=null;//循环读取⽂件while((m=br.readLine())!=null){text+=m+"\r\n";}//将读取的结果打印到记事本上⾯this.jta.setText(text);}catch(Exception e1){e1.printStackTrace();}finally{//关掉打开的⽂件try{br.close();fr.close();}catch(Exception e2){e2.printStackTrace();}}}else if(e.getActionCommand().equals("save")){//创建⼀个⽂件选择组件JFileChooser jfc=new JFileChooser();//设置⽂件选择的名称jfc.setDialogTitle("另存为");//设置⽂件选择组件的类型(保存类型)jfc.showSaveDialog(null);//显⽰该组件jfc.setVisible(true);//获取选择⽂件的绝对路径String filename;filename=jfc.getSelectedFile().getAbsolutePath(); //将记事本内的⽂本保存⾄该路径BufferedWriter bw=null;FileWriter fw=null;try{//创建⽂件输出⽂件fw=new FileWriter(filename);bw=new BufferedWriter(fw);//获取⽂本String outtext="";outtext=this.jta.getText();//输出⽂本fw.write(outtext);}catch(Exception e2){e2.printStackTrace();}finally{//关闭打开的输出⽂件try{bw.close();fw.close();}catch(Exception e3){e3.printStackTrace();}}}}}。
用Java实现一个简单的记事本
用Java实现一个简单的记事本,使其可以通过给定文件的绝对路径打开文件,当该文件名是目录时,则打开一个目录并浏览该目录下的文件结构,即目录树形图。
实现原理也不难,如下:1、判断给定的绝对路径是否为文件,若为文件则直接在编辑区中显示文件里面的内容。
2、当绝对路径是目录时,则进入该目录,遍历目录内的每一个文件,并递归地打印出该目录的树形图。
3、保存文件是=时,则打开文件对话框,获取对话框当前的目录路径,以及对话框中用户输入的“文件名”,据此新建一个File对象,将编辑区中的内容写入到新建的文件中,即实现了保存文件的功能。
下面是实现之后的界面:代码实现如下:1import java.awt.*;2import java.awt.event.*;3import java.io.*;4import javax.swing.*;56public class FileEditor extends JFrame {78private JTextField selectField; //文件的绝对路径文本域9private JTextArea editArea; //编辑区10private JButton saveBtn; //“保存”按钮11private JButton openFileBtn; //“浏览”按钮1213private int level = 0; //记录目录层次数1415public FileEditor() {16this.init();17 }1819private void init() {20this.setTitle("简单记事本");21this.setBounds(300, 50, 600, 650);2223 /*24 * 面板的北边,即路径输入域、浏览按钮25 */26 selectField = new JTextField(40);27 openFileBtn = new JButton("浏览");28 openFileBtn.addActionListener(new ActionListener() {29public void actionPerformed(ActionEvent ae) {30 FileEditor.this.level = 0;31 String path = selectField.getText();32 // 浏览目录或者文件33 openDirOrFile(path.replaceAll("/", "\\"));34 }35 });36 JPanel upPanel = new JPanel(new FlowLayout(FlowLayout.LEFT));37 upPanel.setBackground(Color.CYAN);38 upPanel.add(selectField);39 upPanel.add(openFileBtn);40this.add(upPanel, BorderLayout.NORTH);4142 /*43 * 文本编辑区44 */45 editArea = new JTextArea();46 ScrollPane scollPanel = newScrollPane(ScrollPane.SCROLLBARS_AS_NEEDED);47 scollPanel.add(editArea);48this.add(scollPanel, BorderLayout.CENTER);4950 /*51 * 保存按钮52 */53 saveBtn = new JButton("保存");54 saveBtn.addActionListener(new ActionListener() {55public void actionPerformed(ActionEvent ae) {56 // 保存57 saveFile();58 }59 });60 JPanel southPanel = new JPanel();61 southPanel.setBackground(Color.green);62 southPanel.add(saveBtn);63this.add(southPanel, BorderLayout.SOUTH);6465this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);66this.setVisible(true);67 }6869 /**70 * 保存文件71 */72private void saveFile() {73 FileDialog fd = new FileDialog(this, "保存文件");74 fd.setFile("*.java");75 //设置为“保存”模式76 fd.setMode(FileDialog.SAVE);77 fd.setVisible(true);78 //获取文件名79 String fileName = fd.getFile();80 //获取对话框的当前目录81 String dir = fd.getDirectory();82 //根据目录名、文件名创建一个文件,即要保存的目标文件83 File newFile = new File(dir + File.separator + fileName);84 PrintWriter pw = null;85try {86 pw = new PrintWriter(new OutputStreamWriter(new FileOutputStream(87 newFile)));8889 String str = editArea.getText();90 pw.println(str);91 pw.flush();92 } catch (IOException e) {93 e.printStackTrace();94 } finally {95 pw.close();96 }97 }9899 /**100 * 打开目录或文件101 *102 * @param absolutePath : 指定目录或文件的绝对路径名103 */104private void openDirOrFile(String absolutePath) {105 File file = new File(absolutePath);106107if (!(file.exists())) {108 editArea.setText("文件不存在!");109 } else if (file.isDirectory()) {110 editArea.setText(null);111 showDir(file);112 } else if (file.isFile()) {113try {114 FileInputStream fis = new FileInputStream(file);115 BufferedReader br = new BufferedReader(new InputStreamReader(116 fis));117 String str = null;118 editArea.setText(null);119while ((str = br.readLine()) != null) {120 editArea.append(str + "\r\n");121 }122 br.close();123 } catch (IOException e) {124 e.printStackTrace();125 }126 }127128 }129130 /**131 * 浏览目录,建立树形图132 *133 * @param directory :需要打开的目录134 */135private void showDir(File directory) {136 File[] files = directory.listFiles();137int len = files.length;138for (int i = 0; i < len; i++) {139if (files[i].isDirectory()) {140for (int j = 0; j < this.level; j++) {141 editArea.append(" ");142 }143 editArea.append(this.level + 1 + " +" + files[i].getName() + " 文件夹\r\n");144this.level++;145 showDir(files[i]);146 } else if(files[i].isFile()){147for(int j = 0; j < this.level + 2; j++) { 148 editArea.append(" ");149 }150 editArea.append(this.level + " ┝┈" +files[i].getAbsolutePath() + "\r\n");151 }152 }153 }154155 /**156 * 测试157 * @param args158 */159public static void main(String[] args) {160new FileEditor();161 }162}测试:1、打印一个目录的树形图,如下:2、打开一个文本文件,如下:3、保存文件,如下:至此,一个简单记事本就完成了。
java简单记事本源代码
java简单记事本源代码Java简单记事本源代码一、引言记事本是我们日常生活中常用的工具之一,它可以帮助我们记录重要的事项和备忘录。
在本文中,我们将介绍一个简单的记事本的Java源代码,它具有基本的记事功能,包括新建、打开、保存和关闭等操作。
二、界面设计记事本的界面应该简洁明了,用户可以通过菜单栏或快捷键来完成各个功能。
我们可以使用Swing库来实现记事本的图形界面。
在界面上,我们可以添加一个菜单栏,包括文件、编辑、格式和帮助等几个选项。
其中,文件菜单下应该包括新建、打开、保存和关闭选项。
三、实现新建功能新建功能是记事本的基本功能之一,它可以创建一个新的文档供用户编辑。
在Java中,我们可以使用JTextArea组件来实现文本编辑区域。
当用户选择新建功能时,我们可以清空文本编辑区域,让用户可以开始编辑新的内容。
四、实现打开功能打开功能允许用户从计算机中选择一个已有的文档进行编辑。
在Java中,我们可以使用JFileChooser组件来实现文件选择对话框。
当用户选择打开功能时,我们可以弹出一个文件选择对话框,让用户选择一个文档进行打开。
然后,我们可以读取文档内容,并显示在文本编辑区域中供用户编辑。
五、实现保存功能保存功能可以将用户编辑完成的文档保存到计算机中。
在Java中,我们可以使用JFileChooser组件来实现文件保存对话框。
当用户选择保存功能时,我们可以弹出一个文件保存对话框,让用户选择保存的路径和文件名。
然后,我们可以将文本编辑区域中的内容保存到指定的文件中。
六、实现关闭功能关闭功能是记事本的重要功能之一,它可以关闭当前打开的文档并退出记事本程序。
在Java中,我们可以使用System.exit(0)语句来实现程序的退出。
当用户选择关闭功能时,我们可以先判断当前文档是否已保存,如果未保存,则弹出提示框询问用户是否保存。
如果用户选择保存,则执行保存功能;如果用户选择不保存,则直接退出程序。
java课程设计编写记事本
java课程设计编写记事本一、教学目标本章节的教学目标为:知识目标:使学生掌握Java编程语言的基本语法和结构,理解面向对象编程的基本概念和方法。
技能目标:培养学生使用Java编程语言进行简单的程序设计和开发的能力,能够运用面向对象编程方法解决实际问题。
情感态度价值观目标:培养学生对计算机科学的兴趣和热情,提高学生解决问题的能力和创新意识。
二、教学内容本章节的教学内容为:1.Java编程语言的基本语法和结构,包括数据类型、运算符、控制结构等。
2.面向对象编程的基本概念和方法,包括类和对象、继承和多态、封装等。
3.Java编程语言的高级特性,包括异常处理、文件操作、多线程等。
三、教学方法本章节的教学方法为:1.讲授法:通过讲解和演示,使学生掌握Java编程语言的基本语法和结构,理解面向对象编程的基本概念和方法。
2.实验法:通过编写和运行Java程序,使学生掌握Java编程语言的高级特性和应用技巧。
3.讨论法:通过分组讨论和交流,培养学生解决实际问题的能力和创新意识。
四、教学资源本章节的教学资源为:1.教材:《Java编程思想》2.参考书:《Java核心技术》3.多媒体资料:Java编程语言的教学视频和演示文稿4.实验设备:计算机和网络设备五、教学评估本章节的教学评估方式包括:1.平时表现:通过课堂参与、提问、回答问题等评估学生的学习态度和积极性。
2.作业:布置和批改课后作业,评估学生的理解和应用能力。
3.考试:进行定期的考试,评估学生对知识点的掌握程度和编程能力。
评估方式应客观、公正,能够全面反映学生的学习成果。
可以通过成绩、评语等方式进行反馈,帮助学生了解自己的学习情况并改进。
六、教学安排本章节的教学安排规定如下:1.教学进度:按照教材的章节顺序进行教学,确保覆盖所有重要知识点。
2.教学时间:安排合理的课堂时间,保证有足够的时间进行讲解、实践和讨论。
3.教学地点:选择适合编程实践的教室,确保学生有足够的计算机设备进行操作。
Java完整简单记事本源代码
版权所有请勿抄袭AboutDialog.javapackage notepad;import java.awt.Color;import java.awt.Font;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.ImageIcon;import javax.swing.JButton;import javax.swing.JDialog;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JPanel;public class AboutDialog implements ActionListener{public JDialog Dialog;public JButton OK,Icon;public JLabel Name,Version,Author,Java;public JPanel Panel;AboutDialog(JFrame notepad, int x, int y) {Dialog=new JDialog(notepad,"About Notepad...",true);OK=new JButton("OK");Icon=new JButton(new ImageIcon("Notepad.jpg"));Name=new JLabel("Notepad");Version=new JLabel("Version 1.0");Java=new JLabel("JRE Version 6.0");Author=new JLabel("Copyright (c) 2011 Sky. No rights reserved.");Panel=new JPanel();Color c=new Color(0,95,191);Name.setForeground(c);Version.setForeground(c);Java.setForeground(c);Panel.setBackground(Color.WHITE);OK.setFocusable(false);Dialog.setSize(280, 180);Dialog.setLocation(x, y);Dialog.setResizable(false);Dialog.setLayout(null);Panel.setLayout(null);OK.addActionListener(this);Icon.setFocusable(false);Icon.setBorderPainted(false);Author.setFont(new Font(null,Font.PLAIN,11));Panel.add(Icon);Panel.add(Name);Panel.add(Version);Panel.add(Author);Panel.add(Java);Dialog.add(Panel);Dialog.add(OK);Panel.setBounds(0, 0, 280, 100);OK.setBounds(180, 114, 72, 26);Name.setBounds(80, 10, 160, 20);Version.setBounds(80, 27, 160, 20);Author.setBounds(15, 70, 250, 20);Java.setBounds(80, 44, 160, 20);Icon.setBounds(16, 14, 48, 48);}public void actionPerformed(ActionEvent e) { Dialog.setVisible(false);}}ColorDialog.javapackage notepad;import java.awt.Color;import ponent;import java.awt.Font;import java.awt.GridLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.KeyEvent;import java.awt.event.KeyListener;import java.awt.event.WindowEvent;import java.awt.event.WindowListener;import javax.swing.JButton;import javax.swing.JDialog;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JPanel;import javax.swing.JTextArea;import javax.swing.JTextField;public class ColorDialog implements ActionListener, WindowListener{ public JDialog Dialog;public JLabel NFL,NBL,SFL,SBL;public JTextArea Normal,Selected;public JButton NFB,NBB,SFB,SBB,OK,Cancel,Reset;public Color NFC,NBC,SFC,SBC;public ColorChooser Chooser;public ColorDialog(JFrame notepad, int x, int y){NFC=new Color(0,0,0);NBC=new Color(249,249,251);SFC=new Color(0,0,0);SBC=new Color(191,207,223);Dialog=new JDialog(notepad,"Color...",true);NFL=new JLabel("Normal Foreground:");NBL=new JLabel("Normal Background:");SFL=new JLabel("Selected Foreground:");SBL=new JLabel("Selected Background:");Normal=new JTextArea("\n Normal 正常");Selected=new JTextArea("\n Selected 选中 ");NFB=new JButton("");NBB=new JButton("");SFB=new JButton("");SBB=new JButton("");OK=new JButton("OK");Cancel=new JButton("Cancel");Reset=new JButton("Reset");Chooser=new ColorChooser(Dialog, x+65, y-15);Normal.setEditable(false);Normal.setFocusable(false);Normal.setFont(new Font("新宋体", 0, 16));Normal.setForeground(NFC);Normal.setBackground(NBC);Selected.setEditable(false);Selected.setFocusable(false);Selected.setFont(Normal.getFont());Selected.setForeground(SFC);Selected.setBackground(SBC);NFB.setBackground(NFC);NBB.setBackground(NBC);SFB.setBackground(SFC);SBB.setBackground(SBC);Dialog.setLayout(null);Dialog.setLocation(x, y);Dialog.setSize(410, 220);Dialog.setResizable(false);Reset.setFocusable(false);OK.setFocusable(false);Cancel.setFocusable(false);Dialog.add(Normal);Dialog.add(Selected);Dialog.add(NFL);Dialog.add(NBL);Dialog.add(SFL);Dialog.add(SBL);Dialog.add(SBB);Dialog.add(SFB);Dialog.add(NBB);Dialog.add(NFB);Dialog.add(OK);Dialog.add(Cancel);Dialog.add(Reset);SBB.setBounds(144, 100, 60, 22);SFB.setBounds(144, 70, 60, 22);NBB.setBounds(144, 40, 60, 22);NFB.setBounds(144, 10, 60, 22);NFL.setBounds(10, 10, 130, 22);NBL.setBounds(10, 40, 130, 22);SFL.setBounds(10, 70, 130, 22);SBL.setBounds(10, 100, 130, 22);Normal.setBounds(220, 10, 174, 56);Selected.setBounds(220, 66, 174, 56);Reset.setBounds(10, 160, 74, 24);OK.setBounds(236, 160, 74, 24);Cancel.setBounds(320, 160, 74, 24);Dialog.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);Dialog.addWindowListener(this);NFB.addActionListener(this);NBB.addActionListener(this);SFB.addActionListener(this);SBB.addActionListener(this);Reset.addActionListener(this);OK.addActionListener(this);Cancel.addActionListener(this);}public void setTextAreaColor(){Normal.setForeground(NFB.getBackground());Normal.setBackground(NBB.getBackground());Selected.setForeground(SFB.getBackground());Selected.setBackground(SBB.getBackground());}public void cancel(){Normal.setForeground(NFC);Normal.setBackground(NBC);Selected.setForeground(SFC);Selected.setBackground(SBC);NFB.setBackground(NFC);NBB.setBackground(NBC);SFB.setBackground(SFC);SBB.setBackground(SBC);Dialog.setVisible(false);}public void actionPerformed(ActionEvent e) {Object obj=e.getSource();if(obj==Reset){NFB.setBackground(new Color(0,0,0));NBB.setBackground(new Color(249,249,251));SFB.setBackground(new Color(0,0,0));SBB.setBackground(new Color(191,207,223));setTextAreaColor();}else if(obj==OK){NFC=NFB.getBackground();NBC=NBB.getBackground();SFC=SFB.getBackground();SBC=SBB.getBackground();Dialog.setVisible(false);}else if(obj==Cancel)cancel();else{Chooser.init(((Component) obj).getBackground());Chooser.Dialog.setVisible(true);((Component) obj).setBackground(Chooser.New.getBackground());setTextAreaColor();}}public void windowClosing(WindowEvent e) {cancel();}public void windowActivated(WindowEvent arg0) {}public void windowClosed(WindowEvent arg0) {}public void windowDeactivated(WindowEvent arg0) {}public void windowDeiconified(WindowEvent arg0) {}public void windowIconified(WindowEvent arg0) {}public void windowOpened(WindowEvent arg0) {}}class ColorChooser implements ActionListener,WindowListener,KeyListener{ JDialog Dialog;JButton Choice[][],Old,New,OK,Cancel;JPanel Panel;JTextField R,G,B;JLabel OldLabel,NewLabel,RL,GL,BL;ColorChooser(JDialog color,int x, int y){Dialog=new JDialog(color,true);Choice=new JButton[8][8];Panel=new JPanel();Old=new JButton("");New=new JButton("");OldLabel=new JLabel("Old:");NewLabel=new JLabel("New:");RL=new JLabel("R:");GL=new JLabel("G:");BL=new JLabel("B:");R=new JTextField("");G=new JTextField("");B=new JTextField("");OK=new JButton("OK");Cancel=new JButton("Cancel");Panel.setLayout(new GridLayout(8,8,0,0));int i=0,j=0;Color c;Choice[0][7]=new JButton("");Choice[0][7].setBackground(new Color(255,255,255));Choice[1][7]=new JButton("");Choice[1][7].setBackground(new Color(255,223,191));Choice[2][7]=new JButton("");Choice[2][7].setBackground(new Color(255,207,207));Choice[3][7]=new JButton("");Choice[3][7].setBackground(new Color(223,191,255));Choice[4][7]=new JButton("");Choice[4][7].setBackground(new Color(207,207,255));Choice[5][7]=new JButton("");Choice[5][7].setBackground(new Color(191,223,255));Choice[6][7]=new JButton("");Choice[6][7].setBackground(new Color(207,255,207));Choice[7][7]=new JButton("");Choice[7][7].setBackground(new Color(223,255,191));for(i=0;i<8;i++){c=Choice[i][7].getBackground();for(j=0;j<8;j++){if(j!=7){Choice[i][j]=new JButton("");Choice[i][j].setBackground(newColor(c.getRed()*(j+1)/8,c.getGreen()*(j+1)/8,c.getBlue()*(j+1)/8));}Choice[i][j].setFocusable(false);Choice[i][j].addActionListener(this);Panel.add(Choice[i][j]);}}Dialog.setSize(280,250);Dialog.setLayout(null);Dialog.setLocation(x, y);Dialog.setResizable(false);Dialog.add(Panel);Panel.setBounds(10, 10, 160, 160);Dialog.add(Old);Dialog.add(OldLabel);Old.setEnabled(false);Old.setBorderPainted(false);Old.setBounds(214, 10, 44, 22);OldLabel.setBounds(180, 10, 44, 22);Dialog.add(New);Dialog.add(NewLabel);New.setEnabled(false);New.setBorderPainted(false);New.setBounds(214, 32, 44, 22);NewLabel.setBounds(180, 32, 44, 22);Dialog.add(R);Dialog.add(G);Dialog.add(B);R.setBounds(214, 97, 44, 22);G.setBounds(214, 123, 44, 22);B.setBounds(214, 149, 44, 22);Dialog.add(RL);Dialog.add(GL);Dialog.add(BL);RL.setBounds(196, 97, 16, 22);GL.setBounds(196, 123, 16, 22);BL.setBounds(196, 149, 16, 22);Dialog.add(OK);Dialog.add(Cancel);OK.setFocusable(false);Cancel.setFocusable(false);OK.setBounds(106, 190, 74, 24);Cancel.setBounds(190, 190, 74, 24);OK.addActionListener(this);Cancel.addActionListener(this);G.addKeyListener(this);R.addKeyListener(this);B.addKeyListener(this);}public void setText(Color c){R.setText(String.valueOf(c.getRed()));G.setText(String.valueOf(c.getGreen()));B.setText(String.valueOf(c.getBlue()));}public void init(Color c){New.setBackground(c);Old.setBackground(c);setText(c);}public void actionPerformed(ActionEvent e) { Object obj=e.getSource();if(obj==OK) Dialog.setVisible(false);else if(obj==Cancel){New.setBackground(Old.getBackground());Dialog.setVisible(false);}else{New.setBackground(((Component) obj).getBackground());setText(New.getBackground());}}public void windowClosing(WindowEvent e) {New.setBackground(Old.getBackground());Dialog.setVisible(false);}public void keyReleased(KeyEvent e) {try{int r,g,b;if(R.getText().length()==0) r=0;else r=Integer.valueOf(R.getText());if(G.getText().length()==0) g=0;else g=Integer.valueOf(G.getText());if(B.getText().length()==0) b=0;else b=Integer.valueOf(B.getText());New.setBackground(new Color(r,g,b));}catch(NumberFormatException nfe){setText(New.getBackground());}catch(IllegalArgumentException iae){setText(New.getBackground());} }public void keyPressed(KeyEvent e) {}public void keyTyped(KeyEvent e) {}public void windowActivated(WindowEvent arg0) {}public void windowClosed(WindowEvent arg0) {}public void windowDeactivated(WindowEvent arg0) {}public void windowDeiconified(WindowEvent arg0) {}public void windowIconified(WindowEvent arg0) {}public void windowOpened(WindowEvent arg0) {}}EnsureDialog.javapackage notepad;import java.awt.BorderLayout;import java.awt.Color;import java.awt.FlowLayout;import java.awt.Font;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.WindowEvent;import java.awt.event.WindowListener;import javax.swing.JButton;import javax.swing.JDialog;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JPanel;public class EnsureDialog implements WindowListener, ActionListener{ public int YES,NO,CANCEL,Status;public JDialog Ensure;public JButton Yes,No,Cancel;public JLabel Question;public JPanel ButtonPanel,TextPanel;EnsureDialog(JFrame notepad, int x, int y) {YES=0;NO=1;CANCEL=2;Status=CANCEL;Ensure=new JDialog(notepad,true);/** 这里的模式标志true的作用是使对话框处于notepad的上端,并且当对话框显示时进程处于停滞状态, * 直到对话框不再显示为止。
零基础Java记事本开发步骤
零基础Java记事本开发步骤
1、建立HelloWorld.txt 记事本文件;
图1.HelloWorld.txt记事本文件
2、修改后缀名.txt为.java,单击“是”;
图2.更改后缀名,得到HelloWorld.java空文件
3、选中HelloWorld.java文件,右键单击>编辑,输入源代码并保存(快捷键ctrl+s);
图3. HelloWorld.java文件中的程序源代码
4、Windows+R,运行>cmd;
图4.运行
5、单击确定,调出DOS命令窗口;
图5.DOS命令窗口
6、在DOS命令窗口中输入命令cd c:/Users\Adminstrator\Desktop并回车,进入目标文件所在的文件夹Desktop(即桌面);
图6.进入目标文件HelloWorld.java所在的文件夹
7、输入命令javac HelloWorld.java并回车;
图7.编译HelloWorld.java文件
8、此时目标文件HelloWorld.java所在文件夹中会生成一个HelloWorld.class 文件:
图8.生成的HelloWorld.class字节文件
9、输入命令java HelloWorld并回车,即可得到运行结果;
图9.运行结果
10、运行结果如图9中箭头所示,这样第一个Java小程序就完成了!。
java编程实现记事本(菜鸟级)
java编程实现记事本(菜鸟级)import java.awt.BorderLayout;import java.awt.Container;import java.awt.event.KeyEvent;import javax.swing.JDesktopPane;import javax.swing.JFrame;import javax.swing.JMenu;import javax.swing.JMenuBar;import javax.swing.JMenuItem;import javax.swing.JTextArea;import javax.swing.KeyStroke;public class china extends JFrame{public china(){super();setTitle("新建⽂本⽂档.txt-记事本");setBounds(100,200,450,450);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JMenuBar menuBar=new JMenuBar();setJMenuBar(menuBar);setJMenuBar(menuBar);Container c=getContentPane();c.setLayout(new BorderLayout());JTextArea ta=new JTextArea();c.add(ta,BorderLayout.CENTER);JMenu a=new JMenu("⽂件");menuBar.add(a);JMenu s=new JMenu("编辑");menuBar.add(s);JMenu h=new JMenu("格式");menuBar.add(h);JMenu b=new JMenu("查看");menuBar.add(b);JMenu e=new JMenu("帮助");menuBar.add(e);JMenuBar d=new JMenuBar();JMenuItem mi_newf=new JMenuItem("新建(N)"); JMenuItem mi_open=new JMenuItem("打开(O)"); JMenuItem mi_save=new JMenuItem("保存(S)"); JMenuItem mi_lsave=new JMenuItem("另保存为(A)"); JMenuItem mi_yemian=new JMenuItem("页⾯设置(U)"); JMenuItem mi_dayin=new JMenuItem("打印(P)"); JMenuItem mi_quit=new JMenuItem("退出(Q)"); JMenuItemmi_chexiao=new JMenuItem("撤销(U)"); JMenuItem mi_jianqie=new JMenuItem("剪切(T)"); JMenuItem mi_copy=new JMenuItem("复制(C)"); JMenuItem mi_paste=new JMenuItem("粘贴(P)"); JMenuItem mi_delete=new JMenuItem("删除(D)"); JMenuItem mi_look=new JMenuItem("查找(L)"); JMenuItem mi_looknext=new JMenuItem("查找下⼀个(X)"); JMenuItemmi_tihuan=new JMenuItem("替换(R)"); JMenuItem mi_zhuandao=new JMenuItem("转到(G)"); JMenuItem mi_all=new JMenuItem("全选(A)"); JMenuItem mi_date=new JMenuItem("时间/⽇期(F5)"); JMenuItem mi_zidong=new JMenuItem("⾃动换⾏(W)"); JMenuItem mi_ziti=new JMenuItem("字体(T)"); JMenuItem mi_zhuangtai=new JMenuItem("状态栏(S)"); JMenuItem mi_team=new JMenuItem("帮助主题(H)"); JMenuItem mi_guanyu=new JMenuItem("关于记事本(A)");a.add(mi_newf);a.add(mi_open);a.add(mi_save);a.add(mi_lsave);a.addSeparator();a.add(mi_yemian);a.add(mi_dayin);a.addSeparator();a.add(mi_quit);s.add(mi_chexiao);s.addSeparator();s.add(mi_jianqie);s.add(mi_copy);s.add(mi_paste);s.add(mi_delete);s.addSeparator();s.add(mi_look);s.add(mi_tihuan);s.add(mi_zhuandao);s.addSeparator();s.add(mi_all);s.add(mi_date);h.add(mi_zidong);h.add(mi_ziti);b.add(mi_zhuangtai);e.add(mi_team);e.addSeparator();e.add(mi_guanyu);mi_newf.setMnemonic(KeyEvent.VK_N); mi_open.setMnemonic(KeyEvent.VK_O); mi_save.setMnemonic(KeyEvent.VK_S); mi_lsave.setMnemonic(KeyEvent.VK_A); mi_yemian.setMnemonic(KeyEvent.VK_U);mi_dayin.setMnemonic(KeyEvent.VK_P); mi_quit.setMnemonic(KeyEvent.VK_Q);mi_chexiao.setMnemonic(KeyEvent.VK_U); mi_jianqie.setMnemonic(KeyEvent.VK_T);mi_copy.setMnemonic(KeyEvent.VK_C);mi_paste.setMnemonic(KeyEvent.VK_P);mi_delete.setMnemonic(KeyEvent.VK_D);mi_look.setMnemonic(KeyEvent.VK_L);mi_looknext.setMnemonic(KeyEvent.VK_X);mi_tihuan.setMnemonic(KeyEvent.VK_R);mi_zhuandao.setMnemonic(KeyEvent.VK_G);mi_all.setMnemonic(KeyEvent.VK_A);mi_date.setMnemonic(KeyEvent.VK_F);mi_zidong.setMnemonic(KeyEvent.VK_W);mi_ziti.setMnemonic(KeyEvent.VK_T);mi_zhuangtai.setMnemonic(KeyEvent.VK_S);mi_team.setMnemonic(KeyEvent.VK_H);mi_guanyu.setMnemonic(KeyEvent.VK_A);mi_newf.setAccelerator(KeyStroke.getKeyStroke('N', java.awt.Event.SHIFT_MASK,false));mi_open.setAccelerator(KeyStroke.getKeyStroke('O', java.awt.Event.SHIFT_MASK,false));mi_save.setAccelerator(KeyStroke.getKeyStroke('S', java.awt.Event.SHIFT_MASK,false));mi_lsave.setAccelerator(KeyStroke.getKeyStroke('A', java.awt.Event.SHIFT_MASK,false));mi_yemian.setAccelerator(KeyStroke.getKeyStroke('U', java.awt.Event.SHIFT_MASK,false));mi_dayin.setAccelerator(KeyStroke.getKeyStroke('P', java.awt.Event.SHIFT_MASK,false));mi_quit.setAccelerator(KeyStroke.getKeyStroke('Q', java.awt.Event.SHIFT_MASK,false));mi_chexiao.setAccelerator(KeyStroke.getKeyStroke('U', java.awt.Event.SHIFT_MASK,false));mi_jianqie.setAccelerator(KeyStroke.getKeyStroke('T', java.awt.Event.SHIFT_MASK,false));mi_copy.setAccelerator(KeyStroke.getKeyStroke('C', java.awt.Event.SHIFT_MASK,false));mi_paste.setAccelerator(KeyStroke.getKeyStroke('P', java.awt.Event.SHIFT_MASK,false));mi_delete.setAccelerator(KeyStroke.getKeyStroke('D', java.awt.Event.SHIFT_MASK,false));mi_look.setAccelerator(KeyStroke.getKeyStroke('L', java.awt.Event.SHIFT_MASK,false));mi_looknext.setAccelerator(KeyStroke.getKeyStroke('X', java.awt.Event.SHIFT_MASK,false));mi_tihuan.setAccelerator(KeyStroke.getKeyStroke('R', java.awt.Event.SHIFT_MASK,false));mi_zhuandao.setAccelerator(KeyStroke.getKeyStroke('G', java.awt.Event.SHIFT_MASK,false)); mi_all.setAccelerator(KeyStroke.getKeyStroke('A', java.awt.Event.SHIFT_MASK,false));mi_date.setAccelerator(KeyStroke.getKeyStroke('F', java.awt.Event.SHIFT_MASK,false));mi_zidong.setAccelerator(KeyStroke.getKeyStroke('W', java.awt.Event.SHIFT_MASK,false)); mi_ziti.setAccelerator(KeyStroke.getKeyStroke('T', java.awt.Event.SHIFT_MASK,false));mi_zhuangtai.setAccelerator(KeyStroke.getKeyStroke('S', java.awt.Event.SHIFT_MASK,false)); mi_team.setAccelerator(KeyStroke.getKeyStroke('H', java.awt.Event.SHIFT_MASK,false));mi_guanyu.setAccelerator(KeyStroke.getKeyStroke('A', java.awt.Event.SHIFT_MASK,false)); setJMenuBar(menuBar);setVisible(true);}public static void main(String[]args){new china();}}。
日记本java代码案例
日记本java代码案例一、背景介绍随着移动互联网的迅猛发展,人们对于记录生活的需求也越来越高。
而日记本作为一种记录生活的方式,也成为了不少人不可或缺的工具。
因此,开发一个简单易用的日记本应用成为了很多开发者的目标。
二、需求分析在开发日记本应用之前,我们需要先明确应用的功能和需求。
根据市场上已有的日记本应用以及用户反馈,我们可以列出以下需求:1. 用户可以创建新的日记,并设置标题、日期和内容。
2. 用户可以查看已有的所有日记,并对其进行编辑或删除。
3. 应用需要提供密码保护功能,以保证用户隐私安全。
4. 应用需要支持数据备份和恢复功能,以避免数据丢失。
三、技术选型在确定了需求之后,我们需要选择合适的技术来实现这些功能。
考虑到开发周期和用户体验等方面因素,我们选择使用Java语言来开发这个应用,并使用Android Studio作为开发工具。
同时,我们还需要使用SQLite数据库来存储用户数据。
四、代码实现1. 创建数据库表格首先,在SQLite数据库中创建表格来存储用户数据。
以下是创建表格的代码:public class DBHelper extends SQLiteOpenHelper {private static final String DATABASE_NAME = "diary.db";private static final int DATABASE_VERSION = 1;private static final String TABLE_NAME = "diary";private static final String COLUMN_ID = "_id";private static final String COLUMN_TITLE = "title";private static final String COLUMN_DATE = "date";private static final String COLUMN_CONTENT = "content";private static final String COLUMN_PASSWORD = "password";public DBHelper(Context context) {super(context, DATABASE_NAME, null,DATABASE_VERSION);}@Overridepublic void onCreate(SQLiteDatabase db) {String sql = "CREATE TABLE IF NOT EXISTS " + TABLE_NAME + "(" +COLUMN_ID + " INTEGER PRIMARY KEY AUTOINCREMENT," +COLUMN_TITLE + " TEXT," +COLUMN_DATE + " TEXT," +COLUMN_CONTENT + " TEXT," +COLUMN_PASSWORD + " TEXT" +")";db.execSQL(sql);}2. 添加日记接下来,我们需要实现添加日记的功能。
Java实现简单记事本
Java实现简单记事本代码实现:import java.awt.BorderLayout;import java.awt.Container;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.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import javax.swing.JFileChooser;import javax.swing.JFrame;import javax.swing.JMenu;import javax.swing.JMenuBar;import javax.swing.JMenuItem;import javax.swing.JScrollPane;import javax.swing.JTextArea;public class NotepadDemo extends JFrame implements ActionListener {JTextArea inputText;JScrollPane pane;public NotepadDemo() {this.setTitle("Notepad");this.setSize(600, 400);setLocationRelativeTo(null);setDefaultCloseOperation(EXIT_ON_CLOSE);Container contentPane = this.getContentPane();contentPane.setLayout(new BorderLayout(5,1));JMenuBar menuBar = new JMenuBar();JMenu menu = new JMenu("File");JMenuItem open=new JMenuItem("打开...");open.addActionListener(this);menu.add(open);JMenuItem save=new JMenuItem("存盘");save.addActionListener(this);menu.add(save);menu.addSeparator();JMenuItem item = new JMenuItem("退出");menu.add(item);item.addActionListener(this);menuBar.add(menu);this.setJMenuBar(menuBar);inputText=new JTextArea(100, 100);pane=new JScrollPane(inputText);contentPane.add(pane);}public static void main(String[] args) {JFrame frame = new NotepadDemo();frame.setVisible(true);}@Overridepublic void actionPerformed(ActionEvent event) {String cmd = event.getActionCommand();if ("退出".equals(cmd)) {this.dispose();}if ("打开...".equals(cmd)) {File srcFile=null;JFileChooser fileChooser=new JFileChooser();int res=fileChooser.showOpenDialog(null);if(res==JFileChooser.APPROVE_OPTION) {srcFile=fileChooser.getSelectedFile();}try {InputStream is = new FileInputStream(srcFile);byte[] buffer = new byte[8*1024];int len;while ((len = is.read(buffer)) != -1) {String text = new String(buffer, 0, len,"UTF-8");inputText.append(text);}is.close();} catch (FileNotFoundException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}}if ("存盘".equals(cmd)) {File destFile=null;JFileChooser fileChooser=new JFileChooser();int res = fileChooser.showSaveDialog(null);if (res == JFileChooser.APPROVE_OPTION) {destFile = fileChooser.getSelectedFile();} else {System.out.println("⽤户取消");return;}try {OutputStream os = new FileOutputStream(destFile); os.write(inputText.getText().getBytes("UTF-8"));os.close();} catch (FileNotFoundException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}}}}。
java编程-记事本-全部功能都实现
1.记事本.javaimport class记事本 {public static void main(String args[]){W indow window1=new Window();("记事本");(true);}}2.import .*;import .*;import .*;importimport .*;import class Window extends JFrame implements ActionListener{ JMenuBar menubar;JMenu menu,menu1,menu2,itemLine,menu3,menu4;JSplitPane splitPane;JMenuItem itemNew,itemOpen,itemSave,itemSaveAs,itemPrint,itemExit;JMenuItem itemCopy,itemCut,itemPaste,itemDelete;JMenuItem itemFont,line1,line2,itemhelp,itemabout;JTextArea text,text1;JLabel lblStatus;JTextField field;KeyHandler kHandler=new KeyHandler();JPopupMenu popupMenu;JToolBar statusBar;JCheckBoxMenuItem itemstate;Window(){init();intGUI();setBounds(500,150,500,500);setDefaultCloseOperation;}void intGUI(){text=new JTextArea();add(new JScrollPane(text),;(kHandler);lblStatus=new JLabel("未修改");}void init(){ quals("已修改")){int confirm=(null, "文件已修改,要保存吗");if(confirm==save();else if(confirm==return;else if(confirm==return;}(0);}});,);menu1=new JMenu("编辑(E)"); 事本软件界面很简洁,使用方法简单,但是也仅拥有着基本文字编辑的功能。
java记事本小代码
package p1;import javax.swing.*;import java.awt.*;import java.awt.event.*;import java.io.*;public class C3 extends JFrame {//定义菜单项private final Color colorValues[]={Color.BLACK,Color.BLUE,Color.RED,Color.GREEN,Color.PINK,Color.ORANGE};private JRadioButtonMenuItem colorItems[],fonts[],sizeItems[];private JCheckBoxMenuItem styleItems[];private JLabel displayLabel;private ButtonGroup fontGroup,colorGroup,sizeGroup;//创建按钮组对象,实现JRadioButton多选一功能private int style;//定义字体大小int fonti=10;Font font;//JRadioButton r1,r2,r3; //声明按钮对象ButtonGroup bg=new ButtonGroup( );//private String str=new String();//用来存放用户当前选择的文本//private JTextFieldfilenameTf=new JTextField(),dirTf=new JTextField();private JPanel optPane=new JPanel();private JPanel navigetePane=new JPanel();private JTextArea contentTa=new JTextArea(5,20);//public C3(String title){super(title);//设置字体大小// r1=new JRadioButton("10");//r1.addActionListener(new sizeHandler());// optPane.add(r1); //加载按钮到界面上//r2=new JRadioButton("16");//r2.addActionListener(new sizeHandler());//optPane.add(r2);// r3=new JRadioButton("24");//r3.addActionListener(new sizeHandler());// optPane.add(r3);// bg.add(r1); //加载按钮到按钮组// bg.add(r2);// bg.add(r3);//dirTf.setEditable(false); // 设置为不可编辑filenameTf.setEditable(false); //设置为不可编辑navigetePane.setLayout(new GridLayout(2,1));navigetePane.add(filenameTf); //添加navigetePane.add(dirTf);Container contentPane=getContentPane();contentPane.add(optPane,BorderLayout.SOUTH);contentPane.add(navigetePane,BorderLayout.NORTH);contentPane.add(new JScrollPane(contentTa),BorderLayout.CENTER);setSize(500,300);setVisible(true);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //设置响应关闭按钮JMenu fileMenu=new JMenu("文件(F)") ;fileMenu.setMnemonic('F');//设置快捷键JMenuItem newItem=new JMenuItem("新建");fileMenu.add(newItem);newItem.addActionListener(new ActionListener(){//显示消息对话框public void actionPerformed(ActionEvent event){contentTa.setText(" ");}} );//JMenuItem openItem=new JMenuItem("打开...");fileMenu.add(openItem);openItem.addActionListener(new OpenHandler());JMenuItem saveItem=new JMenuItem("另存为...");fileMenu.add(saveItem);fileMenu.addSeparator();//设置分割线saveItem.addActionListener(new SaveHandler());JMenuItem copyItem=new JMenuItem("复制");copyItem.setMnemonic('C');//设置快捷键fileMenu.add(copyItem);copyItem.addActionListener(new ActionListener() //响应复制事件{public void actionPerformed(ActionEvent event){str=contentTa.getSelectedText();}});//JMenuItem tieItem=new JMenuItem("粘贴");fileMenu.add(tieItem);tieItem.setMnemonic('V');//设置快捷键fileMenu.addSeparator();//设置分割线tieItem.addActionListener(new ActionListener() //响应粘贴事件{public void actionPerformed(ActionEvent event){contentTa.setText(contentTa.getText()+str);}});//JMenuItem aboutItem=new JMenuItem("关于程序");fileMenu.add(aboutItem);aboutItem.addActionListener(new ActionListener(){ //显示消息对话框public void actionPerformed(ActionEvent event){JOptionPane.showMessageDialog(C3.this,"这是(*^__^*)的记事本","About",JOptionPane.PLAIN_MESSAGE);}});JMenuItem exitItem= new JMenuItem("退出");fileMenu.add(exitItem);exitItem.addActionListener( //响应退出事件new ActionListener(){public void actionPerformed(ActionEvent event){System.exit(0);}});JMenuBar bar=new JMenuBar();setJMenuBar(bar); //在frame中设置菜单条bar.add(fileMenu);JMenu formatMenu=new JMenu("设置(S)");formatMenu.setMnemonic('S');String colors[]={"黑色","蓝色","红色","绿色","粉色","桔黄色"}; JMenu colorMenu=new JMenu("颜色");JMenu sizeMenu=new JMenu("大小");String size[]={"10","16","24","36"};sizeItems=new JRadioButtonMenuItem[size.length];sizeGroup=new ButtonGroup();//colorItems=new JRadioButtonMenuItem[colors.length]; colorGroup=new ButtonGroup();ItemHandler itemHandler=new ItemHandler();for(int count=0;count<colors.length;count++){colorItems[count]=new JRadioButtonMenuItem(colors[count]);colorMenu.add(colorItems[count]);colorGroup.add(colorItems[count]);colorItems[count].addActionListener(itemHandler);}colorItems[0].setSelected(true);formatMenu.add(colorMenu);formatMenu.addSeparator();//设置分割线sizeItems=new JRadioButtonMenuItem[colors.length]; sizeGroup=new ButtonGroup();for(int count=0;count<size.length;count++){sizeItems[count]=new JRadioButtonMenuItem(size[count]);sizeMenu.add(sizeItems[count]);sizeGroup.add(sizeItems[count]);sizeItems[count].addActionListener(itemHandler);}formatMenu.add(sizeMenu);sizeItems[0].setSelected(true);formatMenu.addSeparator();//设置分割线String fontNames[]={"幼圆","微软雅黑","隶书","楷体_GB2312", "华文新魏"};JMenu fontMenu=new JMenu("字体");fonts=new JRadioButtonMenuItem[fontNames.length];fontGroup=new ButtonGroup();for(int count=0;count<fonts.length;count++){fonts[count]=new JRadioButtonMenuItem(fontNames[count]);fontMenu.add(fonts[count]);fontGroup.add(fonts[count]);fonts[count].addActionListener(itemHandler);}fonts[0].setSelected(true);fontMenu.addSeparator();//设置分割线String styleNames[]={"加黑","斜体"};styleItems=new JCheckBoxMenuItem[styleNames.length]; StyleHandler styleHandler=new StyleHandler();for(int count=0;count<styleNames.length;count++){styleItems[count]=new JCheckBoxMenuItem(styleNames[count]);fontMenu.add(styleItems[count]);styleItems[count].addItemListener(styleHandler);}formatMenu.add(fontMenu);bar.add(formatMenu);//添加到菜单项JMenu lookMenu=new JMenu("查看(L)");//设置菜单项JMenuItem taiItem=new JMenuItem("状态栏");lookMenu.add(taiItem);taiItem.addActionListener(new ActionListener(){ //显示消息对话框public void actionPerformed(ActionEvent event){JOptionPane.showMessageDialog(C3.this,"可写","状态栏",JOptionPane.PLAIN_MESSAGE);}});bar.add(lookMenu);JMenu helpMenu=new JMenu("帮助(H)"); //设置菜单项JMenuItem helpItem=new JMenuItem("帮助主题");helpMenu.add(helpItem);helpMenu.addSeparator();//设置分割线JMenuItem about1Item=new JMenuItem("关于记事本...");helpMenu.add(about1Item);bar.add(helpMenu);about1Item.addActionListener(new ActionListener(){//显示消息对话框public void actionPerformed(ActionEvent event){JOptionPane.showMessageDialog(C3.this,"本产品自主编写,倒版必究!","About1",JOptionPane.PLAIN_MESSAGE);}});getContentPane().setBackground(Color.WHITE);setSize(700,500);setVisible(true);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);}public static void main (String[] args){new C3("(*^__^*) 的记事本");}class OpenHandler implements ActionListener{ //打开窗口事件public void actionPerformed(ActionEvent e){JFileChooser jc=new JFileChooser();int rVal=jc.showOpenDialog(C3.this);//显示打开文件的对话框if(rVal==JFileChooser.APPROVE_OPTION){File dir=jc.getCurrentDirectory();File file=jc.getSelectedFile();filenameTf.setText(file.getName());dirTf.setText(dir.toString());//在文本域内显示文本文件内容contentTa.setText(read(new File(dir,file.getName())));}if(rVal==JFileChooser.CANCEL_OPTION){filenameTf.setText("你取消了当前选择!");dirTf.setText(" ");}}}class SaveHandler implements ActionListener{ //保存public void actionPerformed(ActionEvent e){JFileChooser jc=new JFileChooser();int rVal=jc.showSaveDialog(C3.this);//显示保存文件的对话框if(rVal==JFileChooser.APPROVE_OPTION){File dir=jc.getCurrentDirectory();File file=jc.getSelectedFile();filenameTf.setText(file.getName());dirTf.setText(dir.toString());write(new File(dir,file.getName()),contentTa.getText());}if(rVal==JFileChooser.CANCEL_OPTION){filenameTf.setText("你取消了当前选择!");dirTf.setText(" ");}}}//private String read(File file){//打开时的读取try{BufferedReader reader=new BufferedReader(new InputStreamReader(new FileInputStream(file),"GBK"));String data=null;StringBuffer buffer=new StringBuffer();while((data=reader.readLine())!=null)buffer.append(data+"\n");reader.close();return buffer.toString();}catch(IOException e){throw new RuntimeException(e);}}private void write(File file,String str)//输入文件{try{PrintWriter writer=new PrintWriter(new OutputStreamWriter(new FileOutputStream(file),"GBK"));writer.println(str);writer.close();}catch(IOException e){throw new RuntimeException(e);}}//处理事件private class ItemHandler implements ActionListener{public void actionPerformed(ActionEvent event){for(int count=0;count<colorItems.length;count++)if(colorItems[count].isSelected()){contentTa.setForeground(colorValues[count]);break;}//处理字体for(int count=0;count<colorItems.length;count++)if(event.getSource()==fonts[count]){contentTa.setFont(new Font(fonts[count].getText(),style,fonti));break;}//处理字体大小for(int count=0;count<sizeItems.length;count++)if(event.getSource()==fonts[count]){String rbt=event.getActionCommand( );if (rbt=="10") fonti=10;else if (rbt=="16") fonti=16;else if(rbt=="24") fonti=24;else fonti=36;font=newFont(displayLabel.getFont().getName(),Font.BOLD,fonti);contentTa.setFont(font);break;}repaint();}}//处理复选菜单事件private class StyleHandler implements ItemListener{public void itemStateChanged(ItemEvent e){style=0;if(styleItems[0].isSelected())style+=Font.BOLD;if(styleItems[1].isSelected())style+=Font.ITALIC;displayLabel.setFont(new Font(displayLabel.getFont().getName(),style,fonti));repaint();}}}。
java小程序零基础学习记事本运行
JA V A程序在记事本中运行步骤一、安装JDK和JRE, 一步步进行,不需要修改安装路径,安装完成后效果图:二、修改环境变量1. 右键点击“我的电脑”,选择“属性”,选择第四项高级,选择“环境变量”,如下图:2.新建系统变量JA V A_HOME 和CLASSPATH,在PATH中添加。
选择“新建”JA V A_HOME环境变量设置:变量名:JA V A_HOME变量值:C:\Program Files\Java\jdk1.6.0_10(为JDK安装文件夹路径)点击“确定”后,再新建一个CLASSPATH环境变量:变量名:CLASSPA TH变量值:.;%JA V A_HOME%\lib\dt.jar;%JA V A_HOME%\lib\tools.jar;选择“系统变量”中变量名为“Path”的环境变量,双击该变量,把JDK安装路径中bin目录的绝对路径,添加到Path变量的值中,并使用半角的分号和已有的路径进行分隔。
变量名:Path变量值:%JA V A_HOME%\bin;%JA V A_HOME%\jre\bin;然后都点击确定,设置成功。
三、写小程序,编译运行:import java.io.*;public class A{ public static void main (String args[]){ System.out.print("这是我的第一个Java Application 程序!"); System.out.println("运行成功了!");}}粘贴进记事本中,命名为“A.java”(需与主类名称一致,红色部分“A”),将txt扩展名改为java。
如果不显示扩展名,在“工具”文件夹选项下,选择“查看”,将红色框内的“对号”去掉。
将A.java文件保存在D盘根目录下面然后在“开始”,运行中输入“cmd”,进入dos菜单。
输入:d: 进入d盘根目录。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
import java.awt.BorderLayout;import java.awt.Container;import java.awt.event.KeyEvent;import javax.swing.JDesktopPane;import javax.swing.JFrame;import javax.swing.JMenu;import javax.swing.JMenuBar;import javax.swing.JMenuItem;import javax.swing.JTextArea;import javax.swing.KeyStroke;public class china extends JFrame{public china(){super();setTitle("新建文本文档.txt-记事本");setBounds(100,200,450,450);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);JMenuBar menuBar=new JMenuBar();setJMenuBar(menuBar);setJMenuBar(menuBar);Container c=getContentPane();c.setLayout(new BorderLayout());JTextArea ta=new JTextArea();c.add(ta,BorderLayout.CENTER);JMenu a=new JMenu("文件");menuBar.add(a);JMenu s=new JMenu("编辑");menuBar.add(s);JMenu h=new JMenu("格式");menuBar.add(h);JMenu b=new JMenu("查看");menuBar.add(b);JMenu e=new JMenu("帮助");menuBar.add(e);JMenuBar d=new JMenuBar();JMenuItem mi_newf=new JMenuItem("新建(N)"); JMenuItem mi_open=new JMenuItem("打开(O)"); JMenuItem mi_save=new JMenuItem("保存(S)"); JMenuItem mi_lsave=new JMenuItem("另保存为(A)"); JMenuItem mi_yemian=new JMenuItem("页面设置(U)"); JMenuItem mi_dayin=new JMenuItem("打印(P)"); JMenuItem mi_quit=new JMenuItem("退出(Q)"); JMenuItem mi_chexiao=new JMenuItem("撤销(U)"); JMenuItem mi_jianqie=new JMenuItem("剪切(T)"); JMenuItem mi_copy=new JMenuItem("复制(C)"); JMenuItem mi_paste=new JMenuItem("粘贴(P)"); JMenuItem mi_delete=new JMenuItem("删除(D)"); JMenuItem mi_look=new JMenuItem("查找(L)"); JMenuItem mi_looknext=new JMenuItem("查找下一个(X)"); JMenuItem mi_tihuan=new JMenuItem("替换(R)"); JMenuItem mi_zhuandao=new JMenuItem("转到(G)"); JMenuItem mi_all=new JMenuItem("全选(A)"); JMenuItem mi_date=new JMenuItem("时间/日期(F5)"); JMenuItem mi_zidong=new JMenuItem("自动换行(W)"); JMenuItem mi_ziti=new JMenuItem("字体(T)"); JMenuItem mi_zhuangtai=new JMenuItem("状态栏(S)"); JMenuItem mi_team=new JMenuItem("帮助主题(H)"); JMenuItem mi_guanyu=new JMenuItem("关于记事本(A)");a.add(mi_newf);a.add(mi_open);a.add(mi_save);a.add(mi_lsave);a.addSeparator();a.add(mi_yemian);a.add(mi_dayin);a.addSeparator();a.add(mi_quit);s.add(mi_chexiao);s.addSeparator();s.add(mi_jianqie);s.add(mi_copy);s.add(mi_paste);s.add(mi_delete);s.addSeparator();s.add(mi_look);s.add(mi_tihuan);s.add(mi_zhuandao);s.addSeparator();s.add(mi_all);s.add(mi_date);h.add(mi_zidong);h.add(mi_ziti);b.add(mi_zhuangtai);e.add(mi_team);e.addSeparator();e.add(mi_guanyu);mi_newf.setMnemonic(KeyEvent.VK_N); mi_open.setMnemonic(KeyEvent.VK_O); mi_save.setMnemonic(KeyEvent.VK_S); mi_lsave.setMnemonic(KeyEvent.VK_A); mi_yemian.setMnemonic(KeyEvent.VK_U); mi_dayin.setMnemonic(KeyEvent.VK_P); mi_quit.setMnemonic(KeyEvent.VK_Q);mi_chexiao.setMnemonic(KeyEvent.VK_U); mi_jianqie.setMnemonic(KeyEvent.VK_T); mi_copy.setMnemonic(KeyEvent.VK_C);mi_paste.setMnemonic(KeyEvent.VK_P);mi_delete.setMnemonic(KeyEvent.VK_D);mi_look.setMnemonic(KeyEvent.VK_L);mi_looknext.setMnemonic(KeyEvent.VK_X);mi_tihuan.setMnemonic(KeyEvent.VK_R);mi_zhuandao.setMnemonic(KeyEvent.VK_G);mi_all.setMnemonic(KeyEvent.VK_A);mi_date.setMnemonic(KeyEvent.VK_F);mi_zidong.setMnemonic(KeyEvent.VK_W);mi_ziti.setMnemonic(KeyEvent.VK_T);mi_zhuangtai.setMnemonic(KeyEvent.VK_S);mi_team.setMnemonic(KeyEvent.VK_H);mi_guanyu.setMnemonic(KeyEvent.VK_A);mi_newf.setAccelerator(KeyStroke.getKeyStroke('N', java.awt.Event.SHIFT_MASK,false));mi_open.setAccelerator(KeyStroke.getKeyStroke('O', java.awt.Event.SHIFT_MASK,false));mi_save.setAccelerator(KeyStroke.getKeyStroke('S', java.awt.Event.SHIFT_MASK,false));mi_lsave.setAccelerator(KeyStroke.getKeyStroke('A', java.awt.Event.SHIFT_MASK,false));mi_yemian.setAccelerator(KeyStroke.getKeyStroke('U', java.awt.Event.SHIFT_MASK,false));mi_dayin.setAccelerator(KeyStroke.getKeyStroke('P', java.awt.Event.SHIFT_MASK,false));mi_quit.setAccelerator(KeyStroke.getKeyStroke('Q', java.awt.Event.SHIFT_MASK,false));mi_chexiao.setAccelerator(KeyStroke.getKeyStroke('U', java.awt.Event.SHIFT_MASK,false));mi_jianqie.setAccelerator(KeyStroke.getKeyStroke('T', java.awt.Event.SHIFT_MASK,false));mi_copy.setAccelerator(KeyStroke.getKeyStroke('C', java.awt.Event.SHIFT_MASK,false));mi_paste.setAccelerator(KeyStroke.getKeyStroke('P', java.awt.Event.SHIFT_MASK,false));mi_delete.setAccelerator(KeyStroke.getKeyStroke('D', java.awt.Event.SHIFT_MASK,false));mi_look.setAccelerator(KeyStroke.getKeyStroke('L', java.awt.Event.SHIFT_MASK,false));mi_looknext.setAccelerator(KeyStroke.getKeyStroke('X', java.awt.Event.SHIFT_MASK,false));mi_tihuan.setAccelerator(KeyStroke.getKeyStroke('R', java.awt.Event.SHIFT_MASK,false));mi_zhuandao.setAccelerator(KeyStroke.getKeyStroke('G', java.awt.Event.SHIFT_MASK,false));mi_all.setAccelerator(KeyStroke.getKeyStroke('A', java.awt.Event.SHIFT_MASK,false));mi_date.setAccelerator(KeyStroke.getKeyStroke('F', java.awt.Event.SHIFT_MASK,false));mi_zidong.setAccelerator(KeyStroke.getKeyStroke('W', java.awt.Event.SHIFT_MASK,false));mi_ziti.setAccelerator(KeyStroke.getKeyStroke('T', java.awt.Event.SHIFT_MASK,false));mi_zhuangtai.setAccelerator(KeyStroke.getKeyStroke('S', java.awt.Event.SHIFT_MASK,false));mi_team.setAccelerator(KeyStroke.getKeyStroke('H', java.awt.Event.SHIFT_MASK,false));mi_guanyu.setAccelerator(KeyStroke.getKeyStroke('A', java.awt.Event.SHIFT_MASK,false));setJMenuBar(menuBar);setVisible(true);}public static void main(String[]args){new china();}}。