zoukankan      html  css  js  c++  java
  • 第十四周课程总结&实验报告

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

    实验代码

    package NOTEBOOK;
    import java.awt.event.*;
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.io.PrintStream;
    
    import javax.swing.*;
    
    
    public   class Notebook implements ActionListener {
    
        JFrame frame;
        JMenuBar bar;
        JMenu fileMenu,editMenu;
        JMenuItem newItem,openItem,saveItem,closeItem;
        ImageIcon newIcon,openIcon,saveIcon,closeIcon;
        JScrollPane scorll;
        JTextArea scbar;
        File file;
        private JFileChooser chooser;
        
        public Notebook(){
            frame = new JFrame("ZJ");
            fileMenu = new JMenu("文件(F)");//编辑记事本首页功能
            editMenu = new JMenu("编辑(E)");
            bar = new JMenuBar();
            newItem = new JMenuItem("新建(N)");//文件功能标注
            openItem = new JMenuItem("打开(O)");
            saveItem = new JMenuItem("保存(S)");
            closeItem = new JMenuItem("关闭(C)");
            
            scbar = new JTextArea();//添加文本域和滚动条
            scorll = new JScrollPane(scbar,JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);      
            
            newItem.setMnemonic(KeyEvent.VK_N);//编辑文件菜单里的快捷键
            openItem.setMnemonic(KeyEvent.VK_O);
            saveItem.setMnemonic(KeyEvent.VK_S);
            closeItem.setMnemonic(KeyEvent.VK_C);
            
             newItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_N,InputEvent.CTRL_DOWN_MASK));
             openItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_O,InputEvent.CTRL_DOWN_MASK));
             saveItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S,InputEvent.CTRL_DOWN_MASK));         
             closeItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_C,InputEvent.CTRL_DOWN_MASK));
             //编辑菜单里的快捷键
            fileMenu.add(newItem);//将功能加入文件菜单
            fileMenu.add(openItem);
            fileMenu.add(saveItem);
            fileMenu.add(closeItem);
            
            newItem.addActionListener(this);//事件监听
            openItem.addActionListener(this);
            saveItem.addActionListener(this);
            closeItem.addActionListener(this);       
            bar.add(fileMenu);//将菜单栏的功能加入到菜单栏
            bar.add(editMenu);        
            frame.setJMenuBar(bar);//总体布局
            frame.add(scorll);
            frame.setSize(250, 250);
            frame.setVisible(true);
        }
       
        public void actionPerformed(ActionEvent e) {
            Object obj = e.getSource();//获得事件监听的对象
            if (obj instanceof JMenuItem) {
                JMenuItem item = (JMenuItem) obj;
                if (item == newItem) {   //新建
                    new Notebook();           
                }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);
                        scbar.append(new String(b));
                        fis.close();
                    
                } catch (FileNotFoundException e1) {
                    
                    e1.printStackTrace();
                } catch (IOException e1) {
                    
                    e1.printStackTrace();
                }
            }else if(item == saveItem) { //保存文件
                if(file!=null) {
                    try {
                        PrintStream out = new PrintStream(new FileOutputStream(file));
                        out.print(this.scbar.getText());
                        out.close();
                    } catch (FileNotFoundException e1) {
                        
                        e1.printStackTrace();
                    }
                }
                
            }else if(item == closeItem) {
            System.exit(1);
         }
      }
    
      }
    }
    package NOTEBOOK;
    
    public class Test {
    
    	public static void main(String[] args) {
    		
    		        
    		        new Notebook();
    
    	}
    
    }
    

    实验结果

    学习总结
    1.JDBC的主要操作类及接口

    JDBC的核心是为用户提供Java APIl类库,让用户能够创建数据库连接、执行SQL语句、检索结果集、访问数据库元数据等。Java程序开发人员可以利用这些类库来开发数据库应用程序。JDBC API中主要包括了下面所示的类和接口:
    
    java.sql.DriverManager  // 用于管理JDBC驱动程序
    
    java.sql.Connection       //用于建立与特定数据库的连接,一个连接就是一个会话,建立连接后便可以执行SQL语句和获得检索结果。
    
    java.sal.Statement       // 一个Statement对象用于执行静态SQL语句,并获得语句执行后产生的结果。
    
    java.sql.PreparedStatement   // 创建一个可以编译的SQL语句对象,给对象可以被多次运行,以提高执行效率,改接口是Statement的子接口。
    
    java.sql.ResultSet       // 用于创建表示SQL语句检索结果集,用户通过结果集完成对数据库的访问。
    
    java.sql.Driver          //   定义一个数据库的驱动接口。
    

    2.JDBC的连接地址实际上是由以下的3个部分组成。

    (1)jabc 协议:JDBC URL 中的协议总是 jdbc。
    (2)子协议:驱动程序名或数据库连接机制(这种机制可由一个或多个驱动程序支持)的名称,如
    MySQL。
    (3)子名称: 种标识数据库的方法。必须遵循“//主机名:端口/子协议”的标准URL 命名约定,
    

    3.MySQL的基本操作命令

    MySQL 是最流行的关系型数据库管理系统,它性能高、成本低、可靠性好,因此被广泛地应用在Internet上的中小型网站中,是最流行的关系型数据库管理系统,在WEB应用方面MySQL是最好的RDBMS(Relational Database Management System:关系数据库管理系统)应用软件之一。
    
    
    
    以下为MySQL的一些基本操作命令。
    
    
    
    01
    数据库
    
    
    
    
    # 连接MySQL数据库(需用户名跟密码):
    mysql -u [usernane] -p [password]
    
    # 查询所有的数据库
    show databases;
    
    # 创建数据库(数据库名称只能以字母或下划线开头)
    create database [database_name] charset utf8;
    
    # 删除数据库
    drop database [database_name];
    
    # 选择数据库
    use [database_name];
    
    
    
    
    
    
    02
    数据表(需选择某个数据库)
    
    
    
    
    # 查看所有的表
    show tables;
    
    # 创建数据表
    create table if not exists [databese_name](
       [db_id] int unsigned auto_increment,
       [db_title] varchar(100) not null,
       [db_author] varchar(40) not null,
       [submission_date] date,
       primary key ( [db_id] )
    )engine=InnoDB default charset=utf8;
    
    auto_incremen:定义列为自增的属性,一般用于主键,数值会自动加1;
    primary key :关键字用于定义列为主键;
    engine:设置存储引擎;
    charset:设置编码
    
    # 插入数据
    insert into [tablename]
        -> ([db_title], [db_author], [submission_date]
        -> values
        -> (“mysql”, “小人物”, “now()”);
    
    # 查看表的所有数据
    select * from [tablename];
    
    # 查询表的结构
    desc [tablename];
    
    # 删除数据表
    drop table [tablename];
    
    # 使用where 选择数据
    select * from [tablename] where [db_author]=’小人物’;
    
    # 使用update 更新 [db_id] 为1数据
    update [tablename] set [db_title] where [db_id]=1;
    
    # 使用delete删除 [db_id] 为1的数据
    delete from [tablename] where [db_id]=1;
    
  • 相关阅读:
    xls与csv文件的区别
    青音,经典爱情语录
    win7用户账户自动登录方法汇总
    How to using Procedure found Lead Blocker
    FTS(3) BSD 库函数手册 遍历文件夹(二)
    FTS(3) BSD 库函数手册 遍历文件夹(一)
    DisplayMetrics类 获取手机显示屏的基本信息 包括尺寸、密度、字体缩放等信息
    About App Distribution 关于应用发布
    FTS(3) 遍历文件夹实例
    OpenCV 2.1.0 with Visual Studio 2008
  • 原文地址:https://www.cnblogs.com/ZJ999999/p/11959120.html
Copyright © 2011-2022 走看看