ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

第十四周课程总结&实验报告(简单记事本的实现)

2019-11-29 13:50:38  阅读:378  来源: 互联网

标签:awt java import fileMenu JMenuItem 第十四 new 实验报告 记事本


实验报告
(简单记事本的实现)

源代码

package JDBC;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.InputEvent;
import java.awt.event.KeyEvent;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;

import javax.imageio.*;
import javax.swing.*;

public class Test implements ActionListener{
    JFrame frame;
    JMenuBar bar;
    JMenu fileMenu,editMenu;
    JMenuItem newItem,openItem,saveItem,closeItem,fnewItem,anothersaveItem;
    ImageIcon newIcon,saveIcon,closeIcon,openIcon;
    JScrollPane scroll;
    JTextArea area;
    JFileChooser chooser;
    File file;
    
    public Test() {
        frame =new JFrame("记事本");
        bar =new JMenuBar();
        fileMenu =new JMenu("文件");
        editMenu =new JMenu("编辑");
        newIcon = new ImageIcon("d:" + File.separator + "test" + File.separator +"新建.png");
        openIcon = new ImageIcon("d:" + File.separator + "test" + File.separator +"打开.png");
        saveIcon = new ImageIcon("d:" + File.separator + "test" + File.separator +"保存.png");
        closeIcon = new ImageIcon("d:" + File.separator + "test" + File.separator +"关闭.png");
        area =new JTextArea();
        scroll =new JScrollPane(area);
        
        newItem =new JMenuItem("新窗口(N)",newIcon);
        openItem =new JMenuItem("打开(O)",openIcon);
        saveItem =new JMenuItem("保存(S)",saveIcon);
        closeItem =new JMenuItem("关闭(X)",closeIcon);
        anothersaveItem=new JMenuItem("另存为(A)",saveIcon);
        fnewItem =new JMenuItem("新建(N)");
        
        //监听器
        fnewItem.addActionListener(this);
        newItem.addActionListener(this);
        openItem.addActionListener(this);
        saveItem.addActionListener(this);
        closeItem.addActionListener(this);
        anothersaveItem.addActionListener(this);
        
        fileMenu.add(newItem);
        fileMenu.add(openItem);
        fileMenu.add(saveItem);
        fileMenu.add(closeItem);
        fileMenu.add(fnewItem);
        fileMenu.add(anothersaveItem);
        fileMenu.addSeparator();
        
        //快捷键
        
        fileMenu.setMnemonic(KeyEvent.VK_N);
        newItem.setMnemonic(KeyEvent.VK_N);
        openItem.setMnemonic(KeyEvent.VK_O);
        saveItem.setMnemonic(KeyEvent.VK_S);
        anothersaveItem.setMnemonic(KeyEvent.VK_A);
        closeItem.setMnemonic(KeyEvent.VK_C);
        fnewItem.setAccelerator(KeyStroke.getKeyStroke('N',java.awt.Event.CTRL_MASK));
        newItem.setAccelerator(KeyStroke.getKeyStroke('N',java.awt.Event.CTRL_MASK|InputEvent.SHIFT_MASK));
        openItem.setAccelerator(KeyStroke.getKeyStroke('O',java.awt.Event.CTRL_MASK));
        saveItem.setAccelerator(KeyStroke.getKeyStroke('S',java.awt.Event.CTRL_MASK));
        anothersaveItem.setAccelerator(KeyStroke.getKeyStroke('A',java.awt.Event.CTRL_MASK));
        closeItem.setAccelerator(KeyStroke.getKeyStroke('X',java.awt.Event.CTRL_MASK));
        
        bar.add(fileMenu);
        bar.add(editMenu);
        

        frame.setJMenuBar(bar);
        frame.add(scroll);
        frame.setSize(600,500);
        frame.setVisible(true);
    }
    public void actionPerformed(ActionEvent event) {
        Object obj=event.getSource();
        if(obj instanceof JMenuItem) {
            JMenuItem item=(JMenuItem) obj;
        //新建窗口
            if(item==newItem) {
                new Test();
            }
        //  打开文本
            else if(item == openItem){
                chooser=new JFileChooser();
                chooser.showOpenDialog(null);
                file = chooser.getSelectedFile();
                try {
                    FileInputStream fis=new FileInputStream(file);
                    byte[] b=new byte[fis.available()];
                    fis.read(b);
                    area.append(new String(b));
                    fis.close();
                }catch(FileNotFoundException e) {
                    e.printStackTrace();
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            }//保存
//          else if(item == saveItem) {
//              chooser=new JFileChooser();
//              chooser.showSaveDialog(.this);
//          }
            //文件另存为
            else if(item ==anothersaveItem) {
                chooser=new JFileChooser();
                chooser.showSaveDialog(null);
                file = chooser.getSelectedFile();
                try {
                    if(!file.exists()) {
                        file.createNewFile();
                    }
                    FileOutputStream fos=new FileOutputStream(file);
                    byte[] b = area.getText().getBytes();
                    fos.write(b);
                    fos.close();
                }catch(IOException c) {
                    c.printStackTrace();
                }
            }else if(item== closeItem) {
                System.exit(1);
            }
        }   
    }   
}
    

截图:

二、JDBC

JDBC,提供了一种与平台无关的用于执行SQL语句的标准Java API,可以方便地实现多种关系型数据库统一操作,它由用java一组语言编写的类和接口组成

JDBC主要的操作类及接口


  1. JDBC操作步骤
    (1)加载驱动
    (2)连接数据库
    (3)通过Statement发送sql语句
    通过Prepared Statement发送sql语句
    (4)关闭数据库
1.加载驱动程序
public static final String DBDRIVER = "org.gjt.mm.mysql.Driver";  //MySQL中的数据库驱动程序路径
Class.forName(DBDRIVER);   //利用class类加载驱动程序,需要处理异常
2.连接数据库
........接上
Connection conn = null;
conn = DriverManager.getConnetion(连接地址,用户名,密码);//需处理异常
3.执行数据库
需要使用Statement 接口完成

标签:awt,java,import,fileMenu,JMenuItem,第十四,new,实验报告,记事本
来源: https://www.cnblogs.com/edg4396/p/11957309.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有