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


    第十四周课程总结

    JDBC

    1.Java数据库连接是Java语言中用来规范客户端程序如何来访问数据库的应用程序接口,提供了诸如查询和更新数据库中数据的方法。

    2.JDBC API允许用户访问任何形式的表格数据,尤其是存储在关系数据库中的数据。

    3.执行流程:连接数据源,如:数据库 —> 为数据库传递查询和更新指令 —> 处理数据库响应并返回的结果。

    MySQL(关系型数据库管理系统)

    关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。

    1、查看数据库:>SHOW DATABASES;

    2、创建数据库:>CREATE DATABASE db_name;  //db_name为数据库名

    3、使用数据库:>USE db_name;

    4、删除数据库:>DROP DATABASE db_name;

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

    实验源码:

    package test;
    
    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.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;
    import javax.swing.KeyStroke;
    
    public class LX implements ActionListener{
        
        JFrame frame;
        JMenuBar bar;
        JMenu fileMenu,editMenu;
        JMenuItem fnewItem,newItem,openItem,saveItem,anothersaveItem,closeItem;
        JTextArea area;
        JScrollPane scorll;
        File file;
        JFileChooser chooser;
        
        @SuppressWarnings("deprecation")
    	public LX(){
        	frame = new JFrame("记事本");//创建一个窗体
            bar=new JMenuBar();          //创建一个菜单栏,在菜单栏里添加菜单
            fileMenu=new JMenu("文件");
            editMenu=new JMenu("编辑");
       
            area=new JTextArea();      //在文本组件上加入滚动组件
            scorll = new JScrollPane(area);
            
            fnewItem=new JMenuItem("新建(N)");
            newItem=new JMenuItem("新窗口(W)");
            openItem = new JMenuItem("打开(O)");
            saveItem=new JMenuItem("保存(S)");
            anothersaveItem=new JMenuItem("另存为(A)");
            closeItem=new JMenuItem("关闭(X)");
            
            fnewItem.addActionListener(this);
            newItem.addActionListener(this);
            openItem.addActionListener(this);
            saveItem.addActionListener(this);
            anothersaveItem.addActionListener(this);
            closeItem.addActionListener(this);
            
            fileMenu.add(fnewItem);
            fileMenu.add(newItem);
            fileMenu.add(openItem);
            fileMenu.add(saveItem);
            fileMenu.add(anothersaveItem);
            fileMenu.addSeparator();
            fileMenu.add(closeItem);
            
            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(scorll);
            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 == this.newItem) {
                    new LX();  //新建一个窗口
                }else if(item==openItem){
                    JFileChooser chooser =new JFileChooser();
                    chooser.showOpenDialog(null);
                    file=chooser.getSelectedFile();
                        try {
                            FileInputStream fis=new FileInputStream(file);
                            byte[] b=new byte[fis.available()];
                            fis.read(b);    //读入字节数组b的内容
                            area.append(new String(b));  //将b的内容添加进area
                            fis.close();   //关闭输入流
                        } catch (IOException e) {
                            e.printStackTrace();
                        }
                        
                    }else if(item==saveItem) { 
                        JFileChooser chooser=new JFileChooser();
                        chooser.showSaveDialog(null);
                        file=chooser.getSelectedFile();
                        if(!file.exists()) { //
                            try {
                                file.createNewFile();
                            } catch (IOException e) {
                                System.out.printf("io异常");
                                e.printStackTrace();
                            }
                        }
                            try {
                            FileOutputStream fos=new FileOutputStream(file);
                            byte[] b=area.getText().getBytes();
                            fos.write(b);
                            fos.close();
                        } catch (FileNotFoundException e) {
                            e.printStackTrace();
                        } catch (IOException e) {
                            e.printStackTrace();
                        }
                    }else if(item==closeItem) {
                        System.exit(1);
                    }
                }
    		}
        public static void main(String[] args) {
            new LX();
        }
      }
    

    实验结果:

  • 相关阅读:
    try里有return,finally 里还会执行吗?
    OKR与KPI
    读阿里规范笔记
    Maven lifeCycle简要说明
    LK AH 技术对比
    HTTP请求 工具类
    HTTPS 流程
    指数基金投资指南-读书笔记
    mybatis-generator
    《富爸爸穷爸爸》---读后感
  • 原文地址:https://www.cnblogs.com/LILI6/p/11957704.html
Copyright © 2020-2023  润新知